#gameScreen{color-scheme:only light;background:#e9edf8;color:#444d7c;--play-ink:#444d7c;--play-muted:#7c86ac;--play-cyan:#62c3de}#gameScreen .gameShell{position:relative;isolation:isolate;width:min(100%,560px);height:100dvh;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);background:#f7f9fd;overflow:hidden;box-shadow:0 0 36px #404d7412}#gameScreen .gameTop{position:relative;z-index:6;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);align-items:start;gap:12px;min-height:138px;height:138px;flex:none;padding:5px 8px 0;border:0;background:#edf3fb;box-shadow:none}#gameScreen .gameTop:before,#gameScreen .gameTop:after{content:"";position:absolute;inset:0 50% 0 0;pointer-events:none;background:url(system/clubroom-bg.webp) 36% 30%/200% auto no-repeat;clip-path:polygon(0 0,100% 0,100% 100%,0 82%);opacity:.55}#gameScreen .gameTop:after{inset:0 0 0 50%;transform:scaleX(-1)}#gameScreen .hudPanel{position:relative;z-index:1;min-width:0;background:#d7e0ef;filter:none}#gameScreen .hudPanel:before{content:"";position:absolute;inset:1px;background:linear-gradient(160deg,#fffffffa,#f4f8fdf2 65%,#eaf0faf2);clip-path:inherit;pointer-events:none}#gameScreen .hudTrack{height:124px;clip-path:polygon(0 0,100% 9%,94% 100%,0 85%)}#gameScreen .hudScore{height:102px;margin-top:15px;clip-path:polygon(7% 10%,100% 0,100% 89%,0 100%)}#gameScreen .hudContents{position:absolute;inset:10px 11px 16px;transform-origin:50% 50%}#gameScreen .hudTrack .hudContents{transform:rotate(3deg)}#gameScreen .hudScore .hudContents{inset:8px 10px 10px;transform:rotate(-4deg);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:12px minmax(0,1fr) 19px}#gameScreen .trackIdentity{position:relative;margin:0;min-width:0;height:100%;padding-top:12px}#gameScreen #pause{position:absolute;z-index:1;left:-5px;top:-2px;display:grid;place-items:center;width:44px;min-height:44px;height:44px;padding:5px;border:0;border-radius:50%;background:none;box-shadow:none;color:var(--play-ink);transition:transform .12s ease,background .12s ease}#gameScreen #pause:before{content:"";position:absolute;inset:7px;border:1px solid #a8b6d4;border-radius:50%;background:#ffffff85}#gameScreen #pause svg{position:relative;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}#gameScreen #pause:active{transform:scale(.91);background:#e3edff}#gameScreen :is(button,strong,small,time,span,#judgement,#countdown){font-family:Noto Sans JP,Noto Sans KR,sans-serif!important;text-shadow:none;font-style:normal}#gameScreen #gameDiff{display:table;padding:1px 7px;margin:0 0 13px 37px;border-radius:2px;background:#6d79ac;color:#fff;font-size:10px;font-weight:600;line-height:1.45;letter-spacing:.09em}#gameScreen #gameTitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;font-size:clamp(12px,3.25vw,16px);line-height:1.22;font-weight:600;letter-spacing:-.025em;color:var(--play-ink)}#gameScreen .progress{position:absolute;left:0;right:9px;bottom:19px;margin:0;height:3px;border-radius:2px;background:#d8ddeb;overflow:hidden;box-shadow:none}#gameScreen .progress i{height:100%;border-radius:inherit;background:linear-gradient(90deg,#8cb9df,#a7a4da);box-shadow:none}#gameScreen #trackTime{position:absolute;left:0;right:0;bottom:3px;display:block;float:none;margin:0;font-size:10px;line-height:1.2;color:#626f9b;font-variant-numeric:tabular-nums}#gameScreen .scorebox{display:contents;text-align:right}#gameScreen .scorebox small{grid-row:1;justify-self:end;align-self:center;transform:translateY(5px);font-size:10px;color:#8b95b7;letter-spacing:.18em;line-height:1.2}#gameScreen .scorebox #score{grid-row:2;align-self:stretch;display:flex;align-items:center;justify-content:flex-end;transform:translateY(-3px);color:#6b67bb;font-size:clamp(28px,7.7vw,39px);font-weight:500;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums;overflow:visible}#gameScreen .lifeHud{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:6px;grid-row:3;align-self:stretch;margin:0 0 0 4px;min-height:19px;padding:5px 0 0;border-top:1px solid #d7ddeb;background:none;box-shadow:none}#gameScreen .lifeHud>span{font-size:9px;line-height:1;color:#8590b3;letter-spacing:.04em}#gameScreen #lifeDots{display:flex;gap:3px}#gameScreen #lifeDots i{display:block;flex:none;width:7px;height:7px;transform:none;border:1px solid #8e9cbd;border-radius:50%;background:#ffffff80;box-shadow:none;transition:background .15s ease,border-color .15s ease}#gameScreen #lifeDots i.off{border-color:#db8eac;background:#db8eac;box-shadow:none}#gameScreen.danger .hudScore:before{background:linear-gradient(135deg,#fffbfd,#fce8f2)}#gameScreen.danger .lifeHud{background:none}#gameScreen .playVisuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#gameScreen .arena,#gameScreen .arena[data-scene]{flex:1;min-height:0;background:#fbfcff;box-shadow:none;isolation:isolate;--combo-hud-top:37%}#gameScreen .arena:before,#gameScreen .arena:after{display:none}#gameScreen .sceneIllustration{display:none}#gameScreen .crystalScene{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:linear-gradient(180deg,#f3f6ff,#fbfcff 70%,#fff)}#gameScreen .roomFragment{position:absolute;inset:0;background:url(system/clubroom-bg.webp) center calc(100% - 150px) /100% auto no-repeat;opacity:.74;pointer-events:none}#gameScreen .fragmentLeft{clip-path:polygon(0 0,36% 0,24% 15%,0 34%)}#gameScreen .fragmentRight{clip-path:polygon(68% 0,100% 0,100% 31%,78% 16%);background-position:60% calc(100% - 140px)}#gameScreen .fragmentLowerLeft{clip-path:polygon(0 36%,23% 19%,11% 42%,0 57%);opacity:.45}#gameScreen .fragmentLowerRight{clip-path:polygon(79% 22%,100% 37%,100% 60%,92% 46%);opacity:.45;background-position:60% calc(100% - 140px)}#gameScreen .trackWhiteout{position:absolute;inset:0;background:linear-gradient(180deg,transparent 32%,#ffffff22 48%,#ffffffd9 70%,#fff 88%)}#gameScreen .crystalFrame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:.95;pointer-events:none}#gameScreen #notes{left:5%;right:5%;width:90%;z-index:1}#gameScreen #pads,#gameScreen #laneEffects{left:5%;right:5%;width:90%}#gameScreen .comboHud{top:var(--combo-hud-top);left:0;right:0;z-index:2;min-height:92px;color:#5b67a0;text-shadow:none;pointer-events:none}#gameScreen .comboHud #combo{width:fit-content;margin-inline:auto;font-size:clamp(38px,10.5vw,56px);font-weight:300;line-height:1;letter-spacing:-.055em;color:#6470a4;text-shadow:none}#gameScreen .comboHud #comboLabel{margin-top:4px;font-size:9px;line-height:1.2;font-weight:500;letter-spacing:.28em;text-indent:.28em;color:#8a94b9}#gameScreen #judgement{width:fit-content;min-height:25px;margin:8px auto 0;font-size:14px;font-weight:600;line-height:1.3;letter-spacing:.11em;text-shadow:none}#gameScreen #judgement[data-judgement=PERFECT]{color:#778dc1;background:linear-gradient(100deg,#48a9cd 23%,#9b7cc4 52%,#d48caf 77%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:700;letter-spacing:.14em}#gameScreen #judgement[data-judgement=MISS]{color:#b65e63;-webkit-text-fill-color:currentColor;background:none}#gameScreen #judgement[data-judgement=GREAT]{color:#6e8aa7;-webkit-text-fill-color:currentColor}#gameScreen #judgement[data-judgement=GOOD]{color:#9386af;-webkit-text-fill-color:currentColor}#gameScreen #judgement[data-judgement=ROLL]{color:#597fa9;-webkit-text-fill-color:currentColor;background:none;font-weight:800;letter-spacing:.15em;font-size:18px}#gameScreen.comboCharged .comboHud #combo{color:#977fc5;background:linear-gradient(125deg,#5aa9c1 12%,#9881c4,#cb8ba9 88%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:comboChargedIn .45s cubic-bezier(.2,.8,.2,1);font-weight:400}#gameScreen.comboCharged .comboHud #comboLabel{color:#a080b7;font-weight:600}#gameScreen.comboCharged .comboHud #comboLabel:before,#gameScreen.comboCharged .comboHud #comboLabel:after{content:"";display:inline-block;width:12px;height:1px;margin:0 7px 3px;background:#b5a4cc}#gameScreen #laneEffects b{display:none}#gameScreen #countdown{inset:36% 0 auto;font-size:clamp(68px,20vw,100px);font-weight:300;line-height:1.1;color:#6c7bae;letter-spacing:-.05em;text-shadow:none}#gameScreen #boost{position:absolute;z-index:7;left:50%;right:auto;top:calc(var(--combo-hud-top) + 98px);bottom:auto;translate:-50% 0;display:grid;place-items:center;gap:0;width:clamp(150px,40vw,176px);height:auto;min-height:0;aspect-ratio:2/1;margin:0;padding:0;border:0;border-radius:20%;background:none;box-shadow:none;filter:none;color:inherit;text-shadow:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;transform-origin:50% 65%;transition:transform .12s ease;animation:crystalBoostIn .48s cubic-bezier(.2,.85,.25,1.15) both}#gameScreen #boost[hidden]{display:none}#gameScreen #boost .boostArt{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;transform-origin:50% 65%;animation:crystalBoostIdle 2.7s ease-in-out .5s infinite}#gameScreen #boost:active{transform:scale(.92);filter:none;background:none;animation:none}#gameScreen #boost:active .boostArt{animation-play-state:paused}#gameScreen #boost:focus-visible,#gameScreen #pause:focus-visible{outline:2px solid #78b8d5;outline-offset:2px}#gameScreen.boosting .arena{background:#fbfcff}#gameScreen.boosting .crystalFrame{opacity:1}#gameScreen.boosting .hudPanel:before{background:linear-gradient(150deg,#fffcfd,#f2f4ff 58%,#faeaf5)}#gameScreen .playClearance{display:none}@keyframes crystalBoostIn{0%{opacity:0;transform:translateY(8px) scale(.7) rotate(-5deg)}65%{opacity:1;transform:translateY(-2px) scale(1.08) rotate(1.5deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes crystalBoostIdle{0%,to{transform:translateY(0) rotate(-1.3deg) scale(1)}50%{transform:translateY(-3px) rotate(1.3deg) scale(1.035)}}@keyframes comboChargedIn{0%{transform:scale(.9);opacity:.65}45%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}@media(min-width:480px){#gameScreen .gameTop{height:152px;min-height:152px}#gameScreen .hudTrack{height:138px}#gameScreen .hudScore{height:116px}#gameScreen .hudContents{inset:13px 18px 20px}#gameScreen #gameDiff,#gameScreen #trackTime{font-size:11px}#gameScreen .lifeHud{gap:8px}#gameScreen #lifeDots{gap:4px}#gameScreen #lifeDots i{width:9px;height:9px}}@media(max-width:360px){#gameScreen .gameTop{gap:10px;padding-inline:6px}#gameScreen .hudContents{inset-inline:10px}#gameScreen .hudScore .hudContents{inset-inline:8px}#gameScreen .scorebox #score{font-size:28px}#gameScreen .lifeHud{gap:4px;margin-left:4px}#gameScreen #lifeDots{gap:2px}#gameScreen #lifeDots i{width:6px;height:6px}}@media(max-height:680px){#gameScreen .gameTop{height:128px;min-height:128px}#gameScreen .hudTrack{height:115px}#gameScreen .hudScore{height:98px;margin-top:12px}#gameScreen .hudContents{inset-block:8px 15px}#gameScreen #gameTitle{-webkit-line-clamp:1}#gameScreen .arena,#gameScreen .arena[data-scene]{--combo-hud-top:32%}#gameScreen #boost{top:calc(var(--combo-hud-top) + 88px)}#gameScreen .comboHud #combo{font-size:36px}#gameScreen #judgement{font-size:13px;margin-top:6px}}body.reduced #gameScreen #boost,body.reduced #gameScreen #boost .boostArt{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){#gameScreen *,#gameScreen *:before,#gameScreen *:after{animation:none!important;transition:none!important}}#gameScreen .progress i{width:100%;transform-origin:left}#gameScreen .timingDiagnostic{position:absolute;z-index:10;left:10px;bottom:max(9px,env(safe-area-inset-bottom));padding:6px 8px;border-radius:5px;background:#f5f8fff0;color:#526687;font:10px/1.5 monospace;white-space:pre;pointer-events:none}
