/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */.rhythm-hub-editor>label{flex-direction:column;align-items:stretch;gap:8px;min-width:0;margin-block:16px;line-height:1.6;display:flex}.rhythm-hub-editor>label>:is(input,select){box-sizing:border-box;border:1px solid var(--line);background:var(--paper);width:100%;min-width:0;max-width:100%;min-height:42px;color:var(--ink);font:inherit;border-radius:10px;padding:9px 12px}.rhythm-hub-editor>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block:16px;display:flex}.rhythm-hub-editor>button{min-height:40px;margin:8px 8px 8px 0;padding:8px 14px}.game-modal.game-modal-rhythm{border-radius:22px;width:min(960px,100vw - 16px);max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.game-modal-rhythm>.game-modal-body{max-height:none;padding:0}.game-modal-rhythm>.game-modal-body,.rhythm-hub{height:100%;min-height:0;overflow:hidden}.rhythm-hub>.rhythm-stage{border-radius:22px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.rhythm-hub .rhythm-stage>header p{font-size:.7rem}.rhythm-back,.rhythm-stage .rhythm-close{flex-shrink:0;min-width:44px;min-height:44px}.rhythm-service-status{background:#fff0d1;border-radius:9px;align-items:center;gap:6px;max-width:100%;padding:4px 8px;font-size:.75rem;line-height:1.25;display:flex}.rhythm-service-status p{margin:0}.rhythm-service-status button{flex-shrink:0;min-height:36px}.rhythm-service-tools{flex-wrap:wrap;gap:6px;font-size:.75rem;display:flex}.rhythm-service-tools button{min-height:36px}.rhythm-service-tools:empty{display:none}.rhythm-hub .rhythm-stage-body{overscroll-behavior-y:contain;scrollbar-gutter:stable;flex-direction:column;gap:8px;min-height:0;padding:8px 12px;display:flex;overflow:hidden auto}.rhythm-hub .rhythm-stage-body>aside{flex:none;min-width:0}.rhythm-hub .rhythm-stage-body>main{min-width:0}.rhythm-hub .rhythm-stage-body>aside>label{align-items:center;gap:8px;font-size:.78rem;display:flex}.rhythm-hub .rhythm-stage-body>aside input{min-height:40px;margin:0}.rhythm-hub .rhythm-preparation{gap:8px;min-height:0;margin:5px 0}.rhythm-hub .rhythm-preparation .rhythm-avatar{flex-basis:48px;width:48px}.rhythm-hub .rhythm-preparation .rhythm-avatar-render{width:48px;height:72px}.rhythm-hub .rhythm-preparation .rhythm-song-cover{float:left;flex-basis:44px;width:44px;height:44px;margin-right:8px}.rhythm-hub .rhythm-preparation h3{margin:3px 0;font-size:.92rem}.rhythm-hub .rhythm-preparation p{margin:3px 0;font-size:.76rem;line-height:1.35}.rhythm-hub .rhythm-options{gap:8px;margin:4px 0}.rhythm-hub .rhythm-options label{flex:1;min-width:0;font-size:.75rem}.rhythm-hub .rhythm-options input,.rhythm-hub .rhythm-options select{min-height:40px}.rhythm-hub .rhythm-load-status:empty{display:none}.rhythm-hub .rhythm-load-status{margin:3px 0;font-size:.75rem}.rhythm-hub .rhythm-actions{flex-wrap:nowrap;gap:8px;margin:5px 0;display:flex}.rhythm-hub .rhythm-actions button{flex:1;min-height:44px;padding:6px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-lanes{display:none}.rhythm-song-strip-shell{height:156px;min-height:156px;position:relative}.rhythm-song-strip-heading{justify-content:space-between;align-items:center;gap:8px;height:36px;display:flex}.rhythm-song-strip-heading button{width:44px;height:36px;min-height:36px;padding:0;font-size:1.3rem}.rhythm-song-strip{scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x;grid-auto-columns:112px;grid-auto-flow:column;justify-content:start;gap:8px;height:120px;padding:3px 0 7px;display:grid;overflow:auto hidden}.rhythm-song-strip>div{scroll-snap-align:start;min-width:0}.rhythm-song-strip button{border-radius:14px;flex-direction:column;align-items:center;gap:3px;width:100%;height:108px;padding:5px;display:flex}.rhythm-song-strip button[aria-pressed=true]{border:2px solid var(--rhythm-line)}.rhythm-song-strip button:focus-visible{outline-offset:-3px;outline:3px solid #8a5f1c}.rhythm-song-strip .rhythm-song-cover{border-radius:10px;flex-basis:56px;width:56px;height:56px}.rhythm-song-strip strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;height:28px;font-size:.74rem;line-height:1.2;display:-webkit-box;overflow:hidden}.rhythm-song-strip small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.65rem;line-height:1;overflow:hidden}.rhythm-song-strip-shell>p{text-align:center;position:absolute;top:48px;left:0;right:0}.rhythm-hub .rhythm-stage.is-playing .rhythm-stage-body{scrollbar-gutter:auto;padding:6px 10px;display:block;overflow:hidden}.rhythm-hub .rhythm-stage.is-playing .rhythm-stage-body>main{flex-direction:column;gap:4px;height:100%;min-height:0;display:flex}.rhythm-hub .rhythm-stage.is-playing .rhythm-service-tools,.rhythm-hub .rhythm-stage.is-playing .rhythm-sound-controls,.rhythm-hub .rhythm-stage.is-playing aside{display:none}.rhythm-hub .rhythm-stage.is-playing .rhythm-actions{flex:none;min-height:44px;margin:0}.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading{flex:none;gap:8px;height:64px;min-height:0;margin:0}.rhythm-hub .rhythm-stage.is-playing .rhythm-avatar.compact{flex-basis:40px;width:40px}.rhythm-hub .rhythm-stage.is-playing .rhythm-avatar.compact .rhythm-avatar-render{width:40px;height:60px}.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading h3{margin:0 0 3px;font-size:.8rem}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud{padding:4px}.rhythm-hub .rhythm-stage.is-playing .rhythm-lanes{touch-action:none;flex:1;min-height:80px;height:auto!important}.rhythm-hub .rhythm-stage.is-playing .rhythm-song-progress{flex:none;height:5px;margin:0}.rhythm-hub .rhythm-stage.is-playing .rhythm-lane b{min-height:24px;font-size:1rem;bottom:2%}.rhythm-hub .rhythm-stage.is-playing>header .rhythm-eyebrow{display:none}.rhythm-hub-editor{background:#fff9ed;height:100%;padding:12px;overflow:auto}.rhythm-hub-editor header{justify-content:space-between;align-items:center;display:flex}.rhythm-hub-editor button{min-height:44px}@media (max-width:620px){.game-modal.game-modal-rhythm{width:calc(100vw - 8px);max-width:calc(100vw - 8px);height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 8px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 8px);border-radius:16px}.rhythm-hub>.rhythm-stage{border-radius:16px}.rhythm-hub .rhythm-stage-body{padding:6px 8px}.rhythm-song-strip-heading span{display:none}.rhythm-song-strip-heading{height:24px}.rhythm-song-strip-shell{height:144px;min-height:144px}.rhythm-hub .rhythm-stage>header{padding:6px 8px}.rhythm-hub .rhythm-stage>header h2{font-size:1.05rem}.rhythm-hub .rhythm-options small{font-size:.65rem}.rhythm-hub .rhythm-back{padding:4px;font-size:.74rem}}@media (max-height:420px){.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading{height:48px}.rhythm-hub .rhythm-stage.is-playing .rhythm-avatar,.rhythm-hub .rhythm-stage.is-playing>header p{display:none}.rhythm-hub .rhythm-stage.is-playing .rhythm-lanes{min-height:60px}}.rhythm-stage-footer{padding:4px 8px calc(4px + env(safe-area-inset-bottom,0px));background:#fff5df;border-top:1px solid #e6cf9c;flex:none}.rhythm-hub .rhythm-stage-footer .rhythm-actions{margin:0}.rhythm-song-strip button{box-shadow:none;background:0 0;border-color:#0000}.rhythm-song-strip button .rhythm-song-cover{border:17px solid var(--rhythm-line);background:repeating-radial-gradient(#292525 0 2px,#3b3432 3px 4px);border-radius:50%;flex-basis:84px;width:84px;height:84px;box-shadow:0 0 0 2px #171717,0 4px 8px #17171720}.rhythm-song-strip button[aria-pressed=true]{box-shadow:none;background:0 0;border-color:#0000}.rhythm-song-strip button[aria-pressed=true] .rhythm-song-cover{transform:scale(1.08);box-shadow:0 0 0 3px #d3a748,0 5px 12px #b78c4840}.rhythm-song-strip strong{-webkit-line-clamp:1;height:17px}.rhythm-song-strip small{display:none}.rhythm-difficulty-pills{gap:6px;margin:4px 0;display:flex}.rhythm-difficulty-pills button{flex:1;min-height:44px;font-size:.8rem}.rhythm-difficulty-pills button[aria-pressed=true]{background:#f8dc91;border-color:#b88529}.rhythm-difficulty-pills small{font-size:.65rem;display:block}.rhythm-song-strip{grid-auto-columns:148px;height:160px;padding:5px max(0px,50% - 74px) 8px}.rhythm-song-strip button .rhythm-song-cover{border-width:22px;flex-basis:116px;width:116px;height:116px}@media (max-width:620px){.rhythm-song-strip-shell{height:184px;min-height:184px}}.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading{height:auto;min-height:64px}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud strong,.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading h3{white-space:nowrap;text-overflow:ellipsis;line-height:1.2;overflow:hidden}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud strong{min-height:1.2em}@media (max-height:420px){.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading{height:auto;min-height:48px}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud{padding:2px}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud strong{min-height:1.1em;font-size:.84rem;line-height:1.1}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud small{font-size:.6rem;line-height:1.1}}@media (max-height:420px),(max-width:620px){.game-modal.game-modal-rhythm{width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 8px);max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 8px);left:calc(50% + (env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))/2)}}.game-modal.game-modal-rhythm{width:min(820px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 16px));max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 16px);height:min(840px,calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 16px));max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 16px);box-shadow:none;gap:0}.game-modal.game-modal-rhythm,.game-modal.game-modal-rhythm>.game-modal-body{scrollbar-gutter:auto;box-sizing:border-box;background:0 0;border:0;padding:0;display:block;overflow:hidden}.game-modal.game-modal-rhythm>.game-modal-body{width:100%;min-width:0;height:100%;min-height:0;max-height:none;margin:0}.game-modal-rhythm>.game-modal-body>.rhythm-hub{scrollbar-gutter:auto;width:100%;height:100%;margin:0;padding:0;overflow:hidden}.rhythm-hub>.rhythm-stage{box-sizing:border-box;background:#fff9ef;border:1px solid #d6b46c;border-radius:20px;width:100%;max-width:none;height:100%;max-height:none;margin:0;box-shadow:0 12px 40px #67472624}.rhythm-hub>.rhythm-stage:before{background:linear-gradient(#fff9eff5,#fff9eff5),url(/game/world/town-rhythm-city-v1.png) 50%/cover}.rhythm-hub .rhythm-stage>header{gap:10px;padding:10px 14px}.rhythm-hub .rhythm-stage>header>div{flex:1;min-width:0}.rhythm-hub .rhythm-stage>header .rhythm-eyebrow{display:none}.rhythm-hub .rhythm-stage>header h2{margin:0;font-size:1.15rem;line-height:1.35}.rhythm-hub .rhythm-stage>header p{margin:2px 0;font-size:.75rem;line-height:1.4}.rhythm-hub .rhythm-stage .rhythm-service-status{overflow-wrap:anywhere;flex-wrap:wrap;padding:4px 8px;line-height:1.4}.rhythm-hub .rhythm-stage .rhythm-service-tools{gap:6px;margin-top:4px}.rhythm-hub .rhythm-stage .rhythm-service-tools:empty{margin:0;display:none}.rhythm-hub .rhythm-stage .rhythm-service-tools button{min-height:32px;padding:4px 8px;font-size:.75rem}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body{scrollbar-gutter:stable both-edges;box-sizing:border-box;flex-direction:column;gap:12px;padding:12px 16px;display:flex;overflow:hidden auto}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body>aside,.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body>main{box-sizing:border-box;flex:none;width:100%;min-width:0;max-width:680px;margin-inline:auto}.rhythm-hub .rhythm-stage .rhythm-stage-body>aside>label{white-space:nowrap;flex-direction:row;align-items:center;gap:10px;width:100%;max-width:520px;margin:0 auto 4px;font-size:.8rem;display:flex}.rhythm-hub .rhythm-stage .rhythm-stage-body>aside>label input{flex:1;min-width:0;min-height:40px;margin:0;padding:8px 10px}.rhythm-hub .rhythm-stage .rhythm-song-strip-shell{--record-size:128px;--record-card:164px;width:100%;height:auto;min-height:0;position:relative}.rhythm-hub .rhythm-stage .rhythm-song-strip-heading{justify-content:space-between;align-items:center;gap:8px;height:auto;min-height:36px;margin:0 0 2px;display:flex}.rhythm-hub .rhythm-stage .rhythm-song-strip-heading>small{color:#745b3d;font-size:.72rem;line-height:1.4}.rhythm-hub .rhythm-stage .rhythm-song-strip-heading>span{flex-shrink:0;gap:6px;display:inline-flex}.rhythm-hub .rhythm-stage .rhythm-song-strip-heading button{border-radius:10px;width:40px;height:36px;min-height:36px;padding:0}.rhythm-hub .rhythm-stage .rhythm-song-strip{width:100%;max-width:100%;height:auto;min-height:calc(var(--record-size) + 3em + 48px);box-sizing:border-box;scrollbar-width:none;scrollbar-gutter:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x;flex-direction:row;justify-content:flex-start;align-items:stretch;gap:12px;margin:0;padding:10px 8px 8px;font-size:14px;line-height:1.5;display:flex;overflow:auto hidden}.rhythm-hub .rhythm-stage .rhythm-song-strip::-webkit-scrollbar{width:0;height:0;display:none}.rhythm-hub .rhythm-stage .rhythm-song-strip>div{flex:0 0 var(--record-card);min-width:0;width:var(--record-card);scroll-snap-align:center}.rhythm-hub .rhythm-stage .rhythm-song-strip>div:first-child{margin-inline-start:auto}.rhythm-hub .rhythm-stage .rhythm-song-strip>div:last-child{margin-inline-end:auto}.rhythm-hub .rhythm-stage .rhythm-song-strip button,.rhythm-hub .rhythm-stage .rhythm-song-strip button[aria-pressed=true]{grid-template-rows:var(--record-size) minmax(3em,auto);width:100%;height:auto;min-height:calc(var(--record-size) + 3em + 26px);box-shadow:none;color:#5c432d;box-sizing:border-box;background:0 0;border:0;border-radius:0;align-content:start;place-items:start center;gap:10px;margin:0;padding:8px 2px;font-size:14px;line-height:1.5;display:grid;overflow:visible}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-cover{width:var(--record-size);height:var(--record-size);min-width:var(--record-size);min-height:var(--record-size);box-sizing:border-box;background:repeating-radial-gradient(#292525 0 2px,#3b3432 3px 4px);border:24px solid #292425;border-radius:50%;flex:none;margin:0;display:flex;transform:none;box-shadow:0 0 0 1px #171717,0 4px 8px #17171720}.rhythm-hub .rhythm-stage .rhythm-song-strip button[aria-pressed=true] .rhythm-song-cover{transform:scale(1.06);box-shadow:0 0 0 3px #f782b1,0 6px 14px #17171738}.rhythm-hub .rhythm-stage .rhythm-song-strip button strong{-webkit-line-clamp:2;overflow-wrap:anywhere;white-space:normal;text-align:center;box-sizing:border-box;-webkit-box-orient:vertical;width:100%;min-width:0;max-width:100%;height:auto;min-height:3em;max-height:none;margin:0;padding:0 2px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.rhythm-hub .rhythm-stage .rhythm-song-strip button small{display:none}.rhythm-hub .rhythm-stage .rhythm-song-strip button:focus-visible{outline-offset:-2px;outline:3px solid #8a5f1c}.rhythm-hub .rhythm-stage .rhythm-song-strip-shell>p{text-align:center;margin:16px 0;position:static}.rhythm-hub .rhythm-stage .rhythm-preparation{align-items:center;gap:16px;min-height:0;margin:0 0 8px}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-avatar{flex:0 0 96px;width:96px;min-width:0;max-width:96px;margin:0}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-avatar-render{width:96px;height:144px}.rhythm-hub .rhythm-stage .rhythm-avatar figcaption{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;color:#745338;min-width:0;max-width:100%;font-size:12px;line-height:1.5;display:block;overflow:hidden}.rhythm-hub .rhythm-stage .rhythm-preparation>div{flex:1;min-width:0}.rhythm-hub .rhythm-stage .rhythm-preparation h3{white-space:normal;overflow-wrap:anywhere;color:#75442f;min-width:0;max-width:100%;height:auto;max-height:none;margin:0 0 6px;font-size:1rem;line-height:1.5;display:block;overflow:visible}.rhythm-hub .rhythm-stage .rhythm-preparation p{color:#6e563e;margin:4px 0;font-size:.82rem;line-height:1.5}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-song-cover{float:right;border-radius:12px;flex-basis:60px;width:60px;height:60px;margin:0 0 8px 12px}.rhythm-hub .rhythm-stage .rhythm-stage-footer{box-sizing:border-box;width:100%;margin:0}@media (max-width:620px){.game-modal.game-modal-rhythm{width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 8px);max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 8px);height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 8px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 8px)}.rhythm-hub>.rhythm-stage{border-radius:16px}.rhythm-hub .rhythm-stage>header{padding:8px 10px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body{gap:8px;padding:8px 6px}.rhythm-hub .rhythm-stage .rhythm-song-strip-shell{--record-size:104px;--record-card:140px}.rhythm-hub .rhythm-stage .rhythm-song-strip{gap:8px;padding-inline:4px}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-cover{border-width:20px}.rhythm-hub .rhythm-stage .rhythm-preparation{gap:12px}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-avatar{flex-basis:80px;width:80px;max-width:80px}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-avatar-render{width:80px;height:120px}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-song-cover{flex-basis:44px;width:44px;height:44px;margin-left:8px}.rhythm-hub .rhythm-stage .rhythm-preparation h3{font-size:.92rem}}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-cover{opacity:.82;transform:scale(.9)}.rhythm-hub .rhythm-stage .rhythm-song-strip button[aria-pressed=true] .rhythm-song-cover{opacity:1;transform:scale(1.08)}.rhythm-hub .rhythm-stage .rhythm-song-strip button[aria-pressed=true] strong{color:#805018;font-weight:700}.rhythm-hub .rhythm-stage .rhythm-preparation{box-sizing:border-box;background:#fffdf7ed;border:1px solid #e5d0a5;border-radius:16px;padding:12px 16px}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-song-cover{display:none}.rhythm-hub .rhythm-stage .rhythm-advanced-controls{background:#fffdf8;border:1px solid #e8d6b2;border-radius:12px;margin:8px 0;padding:0 10px}.rhythm-hub .rhythm-stage .rhythm-advanced-controls>summary{cursor:pointer;color:#715434;min-height:40px;font-size:.8rem;line-height:40px}.rhythm-hub .rhythm-stage .rhythm-advanced-controls .rhythm-options{margin:0;padding:0 0 8px}@media (max-width:620px){.rhythm-hub .rhythm-stage .rhythm-preparation{padding:10px 12px}}@media (max-height:420px) and (min-width:621px){.rhythm-hub .rhythm-stage:not(.is-playing)>header{gap:8px;min-height:54px;padding:5px 10px}.rhythm-hub .rhythm-stage:not(.is-playing)>header>div{grid-template-columns:minmax(110px,170px) minmax(0,1fr);align-items:center;column-gap:10px;display:grid}.rhythm-hub .rhythm-stage:not(.is-playing)>header>div>h2{grid-area:1/1;font-size:1rem;line-height:1.2}.rhythm-hub .rhythm-stage:not(.is-playing)>header>div>p{grid-area:2/1;margin:0;font-size:.65rem;line-height:1.25}.rhythm-hub .rhythm-stage:not(.is-playing)>header .rhythm-service-status{grid-area:1/2/span 2;padding:3px 7px}.rhythm-hub .rhythm-stage:not(.is-playing)>header .rhythm-service-status p{align-items:center;gap:8px;margin:0;font-size:12px;line-height:1.3;display:flex}.rhythm-hub .rhythm-stage:not(.is-playing)>header .rhythm-service-status button{height:32px;min-height:32px;padding:2px 8px}.rhythm-hub .rhythm-stage:not(.is-playing)>header .rhythm-service-tools{grid-area:1/2/span 2;margin:0}.rhythm-hub .rhythm-stage:not(.is-playing)>header>div:has(.rhythm-service-status) .rhythm-service-tools:not(:empty){grid-row:3}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body{scrollbar-gutter:stable both-edges;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:14px;padding:6px 10px;display:grid}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body>aside,.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body>main{width:100%;max-width:none;min-height:0;margin:0}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body>aside>label{gap:8px;margin:0;font-size:12px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body>aside>label input{min-height:36px;padding:6px 8px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-song-strip-shell{--record-size:76px;--record-card:112px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-song-strip-heading{min-height:30px;margin:0}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-song-strip-heading button{width:36px;height:30px;min-height:30px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-song-strip{gap:6px;min-height:150px;padding:8px 2px 4px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-song-strip button,.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-song-strip button[aria-pressed=true]{grid-template-rows:76px minmax(36px,auto);gap:8px;min-height:132px;padding:6px 2px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-song-strip button .rhythm-song-cover{border-width:14px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-song-strip button strong{min-height:36px;font-size:12px;line-height:1.5}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-preparation{gap:10px;margin:0 0 4px;padding:8px 10px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-preparation .rhythm-avatar{flex-basis:72px;width:72px;max-width:72px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-preparation .rhythm-avatar-render{width:56px;height:84px;margin-inline:auto}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-preparation h3{margin-bottom:3px;font-size:16px;line-height:1.35}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-preparation p{margin:2px 0;font-size:11px;line-height:1.4}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-difficulty-pills{gap:5px;margin:4px 0}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-difficulty-pills button{min-height:40px;padding:4px;font-size:.75rem}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-advanced-controls{margin:4px 0}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-advanced-controls>summary{min-height:32px;line-height:32px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-sound-controls{padding:3px 8px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-footer{padding-top:3px;padding-bottom:3px}}.rhythm-stage .rhythm-lanes>.rhythm-lane{--lane-top:#fffaf5;--lane-bottom:#f9e8d1;background:linear-gradient(180deg,var(--lane-top),var(--lane-bottom));color:#684b37;opacity:1;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid #e7c797}.rhythm-stage .rhythm-lanes>.rhythm-lane:nth-child(2){--lane-top:#fff9f3;--lane-bottom:#f9e7d5}.rhythm-stage .rhythm-lanes>.rhythm-lane:nth-child(3){--lane-top:#fffdf0;--lane-bottom:#f5e9bd}.rhythm-stage .rhythm-lanes>.rhythm-lane:nth-child(4){--lane-top:#fbfcf5;--lane-bottom:#e5eddf}.rhythm-stage .rhythm-lanes>.rhythm-lane:is(.held,:active){background:linear-gradient(180deg,#fffefb,var(--lane-bottom));box-shadow:inset 0 0 0 2px #ffe6a8,0 0 8px #edc47966}.rhythm-stage .rhythm-lanes>.rhythm-lane b{color:#684b37;text-shadow:0 1px #fff9eb}.rhythm-stage .rhythm-lanes>.rhythm-lane.held b{color:#553b2d;text-shadow:none;background:#fff8e6;border-radius:8px;margin-inline:8px}.rhythm-stage .rhythm-avatar-render{background:0 0;border:0;border-radius:0}.rhythm-stage .rhythm-avatar .game-avatar{opacity:1!important;background:0 0!important}.rhythm-stage .rhythm-countdown{text-align:center;color:#553b2d;background:#fff2dd;border-radius:12px;place-content:center;gap:8px;min-height:100px;padding:12px;display:grid}.rhythm-stage .rhythm-countdown strong{font-size:2.5rem;line-height:1}.rhythm-hub .rhythm-stage>header{z-index:3;background:#fff8ed;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:16px;position:sticky;top:0}.rhythm-hub .rhythm-stage .rhythm-header-pause{flex:none;min-width:64px;min-height:42px;margin-inline:10px 4px;padding:8px 14px}.rhythm-stage .rhythm-exit-confirm,.rhythm-stage .rhythm-pause-menu{background:#fff8ed;border:1px solid #e7c797;border-radius:14px;flex-wrap:wrap;gap:12px;margin-bottom:18px;padding:20px;line-height:1.6;display:flex}.rhythm-stage :is(.rhythm-pause-menu,.rhythm-exit-confirm)>p{flex-basis:100%;margin:0 0 4px}.rhythm-stage :is(.rhythm-pause-menu,.rhythm-exit-confirm)>button{min-height:44px;padding:10px 16px}.rhythm-stage footer[hidden]{display:none!important}@media (max-width:620px){.rhythm-hub .rhythm-stage>header{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:14px}.rhythm-hub .rhythm-stage .rhythm-header-pause{min-width:56px;margin-inline:4px}.rhythm-stage :is(.rhythm-pause-menu,.rhythm-exit-confirm)>button{flex:130px}}.rhythm-stage .rhythm-song-progress{appearance:none;background:var(--rhythm-soft);color:#c2185b;accent-color:var(--rhythm-control-pink);border:0;border-radius:999px;overflow:hidden}.rhythm-stage .rhythm-song-progress::-webkit-progress-bar{background:var(--rhythm-soft);border-radius:999px}.rhythm-stage .rhythm-song-progress::-webkit-progress-value{background:var(--rhythm-control-pink);border-radius:999px}.rhythm-stage .rhythm-song-progress::-moz-progress-bar{background:var(--rhythm-control-pink);border-radius:999px}.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading{align-items:center;width:100%;min-width:0;min-height:60px}.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading>div{flex:1 1 0;grid-template-columns:minmax(0,1fr) minmax(260px,1.2fr);align-items:center;gap:12px;min-width:0;display:grid}.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading h3{white-space:normal;overflow-wrap:anywhere;margin:0;line-height:1.35}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud{box-sizing:border-box;gap:8px;width:100%;min-width:0;min-height:0;margin:0;padding:5px 8px}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud>div{min-width:0}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud small{font-size:.75rem;line-height:1.3}.rhythm-hub .rhythm-stage.is-playing .rhythm-review-status{flex:none;margin:0;font-size:.72rem;line-height:1.35}.rhythm-hub .rhythm-stage.is-playing .rhythm-load-status{display:none}.rhythm-hub .rhythm-stage.is-playing .rhythm-song-progress{box-sizing:border-box;align-self:stretch;width:100%;max-width:none;display:block}.rhythm-hub .rhythm-stage.is-playing>header{margin-bottom:0;padding-bottom:10px}@media (max-width:620px){.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading>div{grid-template-columns:minmax(0,1fr);gap:3px}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud{gap:4px;padding:4px}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud small{font-size:.65rem}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud strong{font-size:.95rem}}@media (max-height:420px){.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading{min-height:44px}.rhythm-hub .rhythm-stage.is-playing>header{padding-top:5px;padding-bottom:5px}}.rhythm-hub .rhythm-stage .rhythm-song-strip button small{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;margin-top:-6px;font-size:.72rem;line-height:1.4;display:block;overflow:hidden}.rhythm-hub .rhythm-stage .rhythm-song-artist{overflow-wrap:anywhere;color:#745b3d;margin:2px 0 0;font-size:.75rem;line-height:1.35}.rhythm-hub .rhythm-stage.is-playing .rhythm-playing-song-meta{min-width:0}.rhythm-hub .rhythm-stage.is-playing .rhythm-playing-song-meta h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rhythm-hub .rhythm-stage.is-playing .rhythm-playing-song-meta .rhythm-song-artist{white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;display:block;overflow:hidden}.rhythm-stage details.rhythm-sound-controls{color:#684637;background:linear-gradient(135deg,#fffaf4,#fff2f7);border:1px solid #e4c99b;border-radius:14px;min-width:0;margin:8px 0;padding:0;display:block}.rhythm-stage details.rhythm-sound-controls>summary{box-sizing:border-box;cursor:pointer;border-radius:13px;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:44px;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.5;list-style:none;display:flex}.rhythm-stage details.rhythm-sound-controls>summary::-webkit-details-marker{display:none}.rhythm-stage details.rhythm-sound-controls>summary:before{content:"›";color:#9d335e;flex:none;font-size:1.2rem;line-height:1;transform:rotate(0)}.rhythm-stage details.rhythm-sound-controls[open]>summary:before{transform:rotate(90deg)}.rhythm-stage .rhythm-audio-summary-title{font-weight:700}.rhythm-stage .rhythm-audio-summary-values{color:#755943;overflow-wrap:anywhere;margin-left:auto;font-size:.75rem}.rhythm-stage .rhythm-audio-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;min-width:0;padding:0 12px 12px;display:grid}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 8px;min-width:0;display:grid}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row>label{overflow-wrap:anywhere;min-width:0;margin:0;font-size:.8rem;line-height:1.5;display:block}.rhythm-stage .rhythm-audio-settings output{color:#922e59;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem;font-weight:700}.rhythm-stage .rhythm-audio-settings input[type=range]{appearance:none;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:32px;min-height:32px;box-shadow:none;accent-color:var(--rhythm-control-pink);cursor:pointer;background:0 0;border:0;border-radius:8px;grid-column:1/-1;margin:0;padding:0;display:block}.rhythm-stage .rhythm-audio-settings input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--rhythm-control-pink) 0 var(--rhythm-volume-fill),var(--rhythm-soft) var(--rhythm-volume-fill) 100%);border:1px solid #d7b781;border-radius:999px;height:7px}.rhythm-stage .rhythm-audio-settings input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--rhythm-control-pink);border:2px solid #fff9ef;border-radius:50%;width:18px;height:18px;margin-top:-6.5px;box-shadow:0 0 0 1px #9d335e}.rhythm-stage .rhythm-audio-settings input[type=range]::-moz-range-track{background:var(--rhythm-soft);border:1px solid #d7b781;border-radius:999px;height:5px}.rhythm-stage .rhythm-audio-settings input[type=range]::-moz-range-progress{background:var(--rhythm-control-pink);border-radius:999px;height:5px}.rhythm-stage .rhythm-audio-settings input[type=range]::-moz-range-thumb{background:var(--rhythm-control-pink);border:2px solid #fff9ef;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 1px #9d335e}.rhythm-stage .rhythm-audio-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px 14px;min-width:0;display:flex}.rhythm-stage{--rhythm-control-pink:#f782b1}.rhythm-stage label.rhythm-compact-switch{cursor:pointer;flex-flow:row;flex:none;justify-content:flex-start;align-items:center;gap:8px;width:fit-content;min-width:44px;max-width:100%;min-height:44px;margin:0;font-size:.8rem;line-height:1.4;display:flex}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]{appearance:none;box-sizing:border-box;border:1px solid var(--rhythm-line);background:var(--rhythm-soft);width:40px;min-width:40px;max-width:40px;height:24px;min-height:24px;max-height:24px;box-shadow:none;cursor:pointer;border-radius:999px;flex:0 0 40px;margin:0;padding:0;display:block;position:relative}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;transform:translate(0);box-shadow:0 0 0 1px #171717}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]:checked{border-color:var(--rhythm-line);background:var(--rhythm-control-pink)}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]:checked:before{transform:translate(16px)}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]:focus-visible{outline:3px solid var(--rhythm-line);outline-offset:3px}.rhythm-stage label.rhythm-compact-switch>input:disabled,.rhythm-stage label.rhythm-compact-switch[data-disabled=true]{cursor:not-allowed}.rhythm-stage label.rhythm-compact-switch>input:disabled{background:var(--rhythm-soft);border-style:dashed}.rhythm-stage .rhythm-ranking-mode>p{margin:0 0 8px;font-size:.75rem;line-height:1.5}@media (forced-colors:active){.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]{forced-color-adjust:none;background:canvas;border-color:buttontext}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]:checked{background:highlight}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]:before{box-shadow:none;background:buttontext}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]:checked:before{background:highlighttext}}.rhythm-stage .rhythm-sfx-state{color:#755943;min-width:2em;font-size:.75rem}.rhythm-stage .rhythm-audio-settings .rhythm-audio-test{color:#684637;background:#fff1d0;border:1px solid #d6af69;border-radius:10px;min-width:112px;min-height:40px;padding:7px 14px;font-size:.8rem;font-weight:600;line-height:1.4}.rhythm-stage .rhythm-audio-settings .rhythm-audio-test:disabled{opacity:.6;cursor:not-allowed}.rhythm-stage .rhythm-audio-settings .rhythm-audio-status{color:#755943;overflow-wrap:anywhere;grid-column:1/-1;margin:0;font-size:.75rem;line-height:1.5}.rhythm-stage .rhythm-audio-settings :is(input,button):focus-visible,.rhythm-stage details.rhythm-sound-controls>summary:focus-visible{outline-offset:3px;outline:3px solid #9d335e;box-shadow:0 0 0 2px #ffe7b0}.rhythm-exit-overlay{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#3e273270;position:fixed;inset:0}.rhythm-exit-dialog{z-index:1101;box-sizing:border-box;width:calc(100vw - 32px);max-width:420px;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;color:#684637;font:inherit;text-align:center;background:linear-gradient(150deg,#fffaf0,#fff0f6);border:1px solid #d7b478;border-radius:20px;outline:none;margin:0;padding:24px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 20px 80px #39253250}.rhythm-exit-dialog .rhythm-exit-icon{color:#a52f62;background:#fff2d7;border:1px solid #e8c898;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 10px;font-size:1.6rem;display:grid}.rhythm-exit-dialog>h2{color:#7f3152;overflow-wrap:anywhere;margin:0 0 8px;font-size:1.25rem;font-weight:700;line-height:1.4}.rhythm-exit-dialog>p{color:#755943;overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.6}.rhythm-exit-dialog .rhythm-exit-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.rhythm-exit-dialog .rhythm-exit-actions>button{min-width:0;min-height:44px;font:inherit;cursor:pointer;overflow-wrap:anywhere;border:1px solid #cc9eaf;border-radius:12px;margin:0;padding:10px 12px;font-size:.9rem;font-weight:600;line-height:1.5}.rhythm-exit-dialog .rhythm-exit-resume{color:#fff;background:#ad396b;border-color:#922957}.rhythm-exit-dialog .rhythm-exit-leave{color:#7d4e34;background:#fffaf1;border-color:#d7b478}.rhythm-exit-dialog .rhythm-exit-actions>button:focus-visible{outline-offset:3px;outline:3px solid #9d335e;box-shadow:0 0 0 2px #ffe7b0}@media (max-width:420px){.rhythm-stage .rhythm-audio-settings{grid-template-columns:minmax(0,1fr);gap:8px}.rhythm-stage .rhythm-audio-summary-values{flex-basis:100%;margin-left:20px}.rhythm-exit-dialog{padding:20px 16px}}@media (prefers-reduced-motion:reduce){.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]:before{transition:none}}.rhythm-hub .rhythm-stage.is-paused .rhythm-lanes>.rhythm-lane:disabled{opacity:1;cursor:default}.rhythm-pause-overlay{z-index:1098;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#3e273245;position:fixed;inset:0}.rhythm-pause-dialog{z-index:1099;box-sizing:border-box;width:calc(100vw - 32px);max-width:440px;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;color:#684637;font:inherit;text-align:center;background:linear-gradient(150deg,#fffaf0,#fff0f6);border:1px solid #d7b478;border-radius:20px;outline:none;margin:0;padding:24px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 20px 80px #39253240}.rhythm-pause-dialog .rhythm-pause-icon{color:#a52f62;background:#fff2d7;border:1px solid #e8c898;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 10px;font-size:1.6rem;font-weight:700;display:grid}.rhythm-pause-dialog>h2{color:#7f3152;overflow-wrap:anywhere;margin:0 0 8px;font-size:1.25rem;font-weight:700;line-height:1.4}.rhythm-pause-dialog>p{color:#755943;overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.6}.rhythm-pause-dialog .rhythm-pause-code{color:#755943;margin-top:10px;font-size:.72rem}.rhythm-pause-dialog .rhythm-pause-code>span{font-variant-numeric:tabular-nums;background:#fff9ec;border:1px solid #e6d0ac;border-radius:6px;padding:2px 6px;display:inline-block}.rhythm-pause-dialog .rhythm-pause-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.rhythm-pause-dialog .rhythm-pause-actions>button{min-width:0;min-height:44px;font:inherit;cursor:pointer;overflow-wrap:anywhere;border:1px solid #cc9eaf;border-radius:12px;margin:0;padding:10px 12px;font-size:.9rem;font-weight:600;line-height:1.5}.rhythm-pause-dialog .rhythm-pause-resume{color:#fff;background:#ad396b;border-color:#922957}.rhythm-pause-dialog .rhythm-pause-exit{color:#7d4e34;background:#fffaf1;border-color:#d7b478}.rhythm-pause-dialog .rhythm-pause-actions>button:focus-visible{outline-offset:3px;outline:3px solid #9d335e;box-shadow:0 0 0 2px #ffe7b0}@media (max-height:420px),(max-width:420px){.rhythm-pause-dialog{padding:18px 16px}.rhythm-pause-dialog .rhythm-pause-icon{width:36px;height:36px;margin-bottom:6px;font-size:1.3rem}}.rhythm-song-strip-shell{height:178px;min-height:178px}.rhythm-song-strip{height:142px}.rhythm-song-strip button{height:130px}.rhythm-tempo-badge{color:#684c28;white-space:nowrap;box-sizing:border-box;background:#fff7df;border:1px solid #d9b967;border-radius:999px;align-items:center;max-width:100%;padding:1px 6px;font-size:.64rem;line-height:1.4;display:inline-flex}.rhythm-tempo-badge.is-unknown{color:#735f4b;background:#f4eee6;border-color:#d7c8b6}.rhythm-autogenerate{border:1px solid #d9b967;border-radius:12px;margin:16px 0;padding:14px}.rhythm-autogenerate p,.rhythm-generated-drafts p{line-height:1.7}.rhythm-autogenerate button,.rhythm-generated-drafts button{min-height:42px;margin:4px}.rhythm-autogenerate details{max-height:240px;overflow:auto}.rhythm-hub-editor fieldset{min-width:0}.rhythm-hub-editor input{box-sizing:border-box;max-width:100%}.rhythm-hub .rhythm-stage>header>button.rhythm-header-action,.rhythm-stage>header>button.rhythm-header-action{box-sizing:border-box;color:#303030;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px;box-shadow:none;background:0 0;border:0;border-radius:14px;flex:0 0 44px;justify-content:center;align-items:center;margin:0;padding:4px;line-height:1;display:inline-flex}.rhythm-stage>header>button.rhythm-header-action>svg{box-sizing:border-box;border:1px solid var(--rhythm-line);stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none;pointer-events:none;border-radius:12px;flex:none;width:36px;height:36px;padding:8px;display:block}.rhythm-stage>header>button.rhythm-header-pause>svg{stroke-width:3px}.rhythm-stage>header>button.rhythm-header-action:hover>svg{background:var(--rhythm-control-pink);border-color:var(--rhythm-line)}.rhythm-stage>header>button.rhythm-header-action:active>svg{transform:scale(.94)}.rhythm-stage>header>button.rhythm-header-action:focus-visible{outline:3px solid var(--rhythm-line);outline-offset:2px}@media (forced-colors:active){.rhythm-stage>header>button.rhythm-header-action>svg{color:buttontext;background:buttonface;border-color:buttontext}}.rhythm-hub-editor.rhythm-admin{--admin-paper:var(--rhythm-panel);--admin-soft:var(--rhythm-soft);--admin-ink:var(--rhythm-ink);--admin-line:var(--rhythm-line);background:var(--admin-soft);color:var(--admin-ink);padding:clamp(12px,2vw,24px);line-height:1.65;overflow-x:hidden}.rhythm-hub-editor.rhythm-admin :is(.rhythm-admin-card,.rhythm-autogenerate,.rhythm-editor){background:var(--admin-paper);color:var(--admin-ink);border:1px solid var(--admin-line);border-radius:16px;min-width:0;margin:18px 0;padding:clamp(12px,2vw,22px)}.rhythm-hub-editor.rhythm-admin :is(h3,legend){color:var(--admin-ink);font-size:1.1rem;font-weight:750}.rhythm-hub-editor.rhythm-admin :is(button,input,select){box-sizing:border-box;max-width:100%;font:inherit;color:var(--admin-ink);background:var(--admin-paper);border:1px solid var(--admin-line);border-radius:10px;min-height:44px;padding:9px 13px}.rhythm-hub-editor.rhythm-admin button{cursor:pointer;white-space:normal;margin:6px 8px 6px 0;font-weight:650}.rhythm-hub-editor.rhythm-admin button.rhythm-admin-primary{color:#fff;box-shadow:0 4px 0 var(--rhythm-raised-shadow);text-shadow:0 1px 1px #94315a80;background:#f782b1;border:2px solid #f782b1;font-weight:800}.rhythm-hub-editor.rhythm-admin button:disabled{opacity:.5;cursor:not-allowed}.rhythm-hub-editor.rhythm-admin :is(button,input,select,summary):focus-visible{outline-offset:3px;outline:3px solid #f782b1}.rhythm-hub-editor.rhythm-admin label{flex-direction:column;align-items:stretch;gap:6px;min-width:0;margin:12px 0;font-weight:550;display:flex}.rhythm-hub-editor.rhythm-admin label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:12px}.rhythm-hub-editor.rhythm-admin input[type=checkbox]{appearance:auto;accent-color:#f782b1;flex:0 0 24px;width:24px;height:24px;min-height:24px;margin:0;padding:0}.rhythm-hub-editor.rhythm-admin input:not([type=checkbox]),.rhythm-hub-editor.rhythm-admin select{width:100%;min-width:0}.rhythm-hub-editor.rhythm-admin fieldset{border:1px solid var(--admin-line);border-radius:12px;min-width:0;margin:14px 0;padding:16px}.rhythm-hub-editor.rhythm-admin .rhythm-metadata-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.rhythm-hub-editor.rhythm-admin .rhythm-metadata-fields :is(button,p){grid-column:1/-1;justify-self:start;margin:0}.rhythm-hub-editor.rhythm-admin .rhythm-cover-editor{flex-wrap:wrap;align-items:center;gap:14px;margin:16px 0;display:flex}.rhythm-hub-editor.rhythm-admin .rhythm-cover-editor label{flex:280px}.rhythm-hub-editor.rhythm-admin .rhythm-cover-editor p{flex-basis:100%}.rhythm-hub-editor.rhythm-admin summary{cursor:pointer;color:var(--admin-ink);padding:12px 0;font-weight:650}.rhythm-hub-editor.rhythm-admin details{border-top:1px solid var(--admin-line);margin:12px 0}.rhythm-admin-steps{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.rhythm-admin-steps span{background:var(--admin-paper);border:1px solid var(--admin-line);border-top:4px solid #f782b1;border-radius:10px;flex:180px;padding:12px;font-weight:650}.rhythm-hub-editor.rhythm-admin :is(.rhythm-admin-notice,.rhythm-editor-clock){background:var(--admin-soft);color:var(--admin-ink);border:1px solid var(--admin-line);border-left:4px solid #f782b1;border-radius:10px;padding:12px}.rhythm-hub-editor.rhythm-admin [role=alert]{border:2px solid #f782b1;border-radius:10px;padding:12px}@media (max-width:620px){.rhythm-hub-editor.rhythm-admin button{width:100%;margin:6px 0}.rhythm-hub-editor.rhythm-admin .rhythm-editor-fields{grid-template-columns:1fr 1fr;display:grid}.rhythm-hub-editor.rhythm-admin .rhythm-editor-fields input{width:100%}}.rhythm-hub-editor.rhythm-admin .rhythm-editor-pads button{color:#fff;box-shadow:0 3px 0 var(--rhythm-raised-shadow);background:#f782b1;border-color:#f782b1}.rhythm-hub-editor.rhythm-admin .rhythm-song-picker{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.rhythm-hub-editor.rhythm-admin .rhythm-song-picker label{flex:240px;margin:0}.rhythm-hub-editor.rhythm-admin .rhythm-song-picker button{flex:none;min-height:44px;margin:0}.rhythm-hub-editor.rhythm-admin .rhythm-song-identity{overflow-wrap:anywhere;flex-direction:column;gap:2px;margin-top:10px;font-size:.9rem;display:flex}.rhythm-hub-editor.rhythm-admin .rhythm-song-identity strong{font-size:1rem}.rhythm-hub-editor.rhythm-admin .rhythm-song-trash-help{font-size:.9rem}.rhythm-hub-editor.rhythm-admin .rhythm-song-trash-list ul{margin:0;padding:0;list-style:none}.rhythm-hub-editor.rhythm-admin .rhythm-song-trash-list li{border-top:1px solid var(--admin-line);padding:12px 0}@media (max-width:620px){.rhythm-hub-editor.rhythm-admin .rhythm-song-picker button{flex:1 0 auto;width:auto}}.rhythm-rankings-overlay{z-index:1250;background:#18121999;position:fixed;inset:0}.rhythm-rankings-modal{z-index:1251;overscroll-behavior:contain;border:2px solid var(--border,#efd6e1);background:var(--background,#fffdfd);width:min(900px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--foreground,#303030);isolation:isolate;border-radius:20px;font-family:inherit;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000040}.rhythm-rankings-modal-heading{z-index:2;background:var(--card,#fff);border-bottom:2px solid #f782b1;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex;position:sticky;top:0}.rhythm-rankings-modal-heading>div{min-width:0}.rhythm-rankings-modal-heading h2{color:var(--card-foreground,#303030);margin:0;font-size:clamp(19px,4vw,25px);line-height:1.45}.rhythm-rankings-modal-heading p{color:var(--muted-foreground,#595959);margin:4px 0 0;font-size:13px;line-height:1.5}.rhythm-rankings-modal-heading button.btn{flex:none;min-width:60px;min-height:44px;padding:8px 12px}.rhythm-rankings-modal :focus-visible{outline:3px solid var(--ring,#c94378);outline-offset:3px}.rhythm-rankings-modal-status{color:var(--foreground,#303030);padding:24px}.rhythm-rankings-trigger{align-items:center;gap:6px;min-height:44px;display:inline-flex}@media (max-width:480px){.rhythm-rankings-modal{border-radius:14px;width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.rhythm-rankings-modal-heading{gap:8px;padding:12px}.rhythm-rankings-modal-heading p{font-size:12px}}.rhythm-stage{color:#60432e;width:min(100%,960px);max-height:90dvh;font:inherit;background:#fff9f5;border:1px solid #e5c99a;border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.rhythm-stage header{border-bottom:1px solid #ead5c3;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.rhythm-stage h2,.rhythm-stage h3,.rhythm-stage p{margin:8px 0}.rhythm-stage button,.rhythm-stage input,.rhythm-stage select{font:inherit;color:inherit;background:#fff;border:1px solid #dac0cc;border-radius:10px;min-height:44px;padding:10px}.rhythm-stage button:focus-visible,.rhythm-stage input:focus-visible,.rhythm-stage select:focus-visible{outline-offset:2px;outline:3px solid #95623f}.rhythm-stage button:disabled{opacity:.55}.rhythm-stage-body{grid-template-columns:220px 1fr;gap:16px;min-height:0;padding:16px;display:grid;overflow:auto}.rhythm-stage main{min-width:0}.rhythm-stage label{flex-direction:column;gap:4px;margin:8px 0;display:flex}.rhythm-song-list{flex-direction:column;gap:8px;display:flex}.rhythm-song-list button{text-align:left;overflow-wrap:anywhere;flex-direction:column;display:flex}.rhythm-song-list [aria-pressed=true]{background:#fce4ed;border-color:#c383a1}.rhythm-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.rhythm-lanes{background:#704d39;border-radius:14px;grid-template-columns:repeat(4,1fr);gap:5px;height:340px;padding:5px;display:grid;overflow:hidden}.rhythm-stage .rhythm-lane{touch-action:none;user-select:none;opacity:1;color:#fff;background:#94694e;border:0;border-radius:8px;position:relative;overflow:hidden}.rhythm-stage .rhythm-lane.held{background:#94694e;box-shadow:inset 0 0 0 2px #fff9eb}.rhythm-lane:after{content:"";border-bottom:3px solid #f2d28c;position:absolute;bottom:12%;left:0;right:0}.rhythm-lane b{position:absolute;bottom:2%;left:0;right:0}.rhythm-note{pointer-events:none;background:#f8aacb;border:2px solid #ffe5ed;border-radius:6px;height:12px;position:absolute;left:12%;right:12%}.rhythm-note.hold{background:linear-gradient(#fce1ae,#dc87b5);min-height:12px}.rhythm-result{background:#fff2f6;border:1px solid #e5c99a;border-radius:12px;padding:12px}@media (max-width:620px){.rhythm-stage-body{grid-template-columns:1fr;padding:10px}.rhythm-song-list{max-height:160px;overflow:auto}.rhythm-lanes{height:300px}.rhythm-stage header{padding:8px 12px}.rhythm-stage h2{font-size:1.15rem}}.rhythm-cover{background-position:50%;background-size:cover;border:1px solid #e5c99a;border-radius:14px;width:96px;height:96px}.rhythm-stage.is-playing main>.rhythm-song-cover{display:none}.rhythm-song-cover{vertical-align:middle;background:#fff1d8;border:1px solid #e5c99a;border-radius:14px;flex:0 0 96px;width:96px;height:96px;display:inline-flex;overflow:hidden}.rhythm-song-cover.small{border-radius:9px;flex-basis:48px;width:48px;height:48px}.rhythm-song-cover img{object-fit:contain;max-width:100%;width:100%!important;height:100%!important}.rhythm-cover-fallback{color:#916342;background:linear-gradient(135deg,#fff1d8,#fce4ed);place-items:center;width:100%;height:100%;font-size:2rem;display:grid}.rhythm-song-list button .rhythm-song-entry{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.rhythm-song-entry>span:last-child{overflow-wrap:anywhere;min-width:0}.rhythm-song-entry small,.rhythm-song-entry strong{display:block}.rhythm-cover-editor{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.rhythm-live-hud{text-align:center;font-variant-numeric:tabular-nums;background:#fff2f6;border:1px solid #e5c99a;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:68px;margin:10px 0;padding:8px;display:grid}.rhythm-live-hud small,.rhythm-live-hud strong{display:block}.rhythm-live-hud strong{overflow-wrap:anywhere;min-height:1.5em;font-size:1.1rem}.rhythm-judgement.perfect{color:#75520c}.rhythm-judgement.good{color:#366b4b}.rhythm-judgement.bad{color:#80521d}.rhythm-judgement.miss{color:#9a3458}.rhythm-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rhythm-stage.is-playing .rhythm-stage-body{grid-template-columns:1fr}.rhythm-stage.is-playing .rhythm-actions button:disabled,.rhythm-stage.is-playing .rhythm-cover,.rhythm-stage.is-playing aside,.rhythm-stage.is-playing main>label{display:none}@media (max-width:620px){.rhythm-stage.is-playing .rhythm-lanes{height:clamp(220px,42dvh,360px)}.rhythm-stage.is-playing main>p{display:none}}.rhythm-avatar{text-align:center;flex:0 0 96px;width:96px;margin:8px 0}.rhythm-avatar-render{background:0 0;border:0;border-radius:0;width:96px;height:144px;overflow:visible}.rhythm-avatar figcaption{overflow-wrap:anywhere;font-size:.8rem}.rhythm-avatar .game-avatar,.rhythm-avatar .game-avatar *{transition:none!important;animation:none!important}.rhythm-avatar.compact{flex-basis:48px;width:48px;margin:0}.rhythm-avatar.compact .rhythm-avatar-render{border-radius:8px;width:48px;height:72px}.rhythm-play-heading{align-items:center;gap:8px;display:flex}.rhythm-play-heading .rhythm-live-hud{flex:1;min-width:0}.rhythm-lanes{overscroll-behavior:contain;-webkit-touch-callout:none}.rhythm-stage .rhythm-lane{-webkit-user-select:none}.rhythm-stage .rhythm-lane b{color:#fff9eb;text-shadow:0 1px 2px #3f281a}@media (max-height:600px){.rhythm-avatar.compact{display:none}}.rhythm-avatar .game-avatar{opacity:1;background:0 0!important}.rhythm-stage{isolation:isolate;position:relative}.rhythm-stage:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#fff9f3e8,#fff0e6ed),url(/game/world/town-rhythm-city-v1.png) 50%/cover;position:absolute;inset:0}.rhythm-stage .rhythm-note{background:#f8b8b2;border-color:#fff2dd;border-radius:16px;height:28px;box-shadow:0 2px #b97753}.rhythm-note-face{width:30px;height:30px;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.rhythm-stage .rhythm-note.hold{background:linear-gradient(#ffe1a4,#efac99);border:2px solid #f2d28c;border-radius:9px;left:37%;right:37%}.rhythm-hit-pulse{z-index:3;text-align:center;pointer-events:none;background:#fff9ed;border:2px solid;border-radius:18px;padding:5px 2px;font-size:12px;font-weight:700;animation:rhythm-hit-pop .32s ease-out both;position:absolute;bottom:8%;left:4%;right:4%}.rhythm-hit-pulse>span{font-size:22px;display:block}.rhythm-hit-pulse.perfect{color:#76500b;border-color:#efc65b}.rhythm-hit-pulse.good{color:#276447;border-color:#8bc9a6}.rhythm-hit-pulse.bad{color:#895318;border-color:#e9b977}.rhythm-hit-pulse.miss{color:#9a3458;border-color:#e1a0aa}.rhythm-sound-controls{border:1px solid #e5c99a;border-radius:12px;flex-wrap:wrap;gap:8px;padding:8px;display:flex}.rhythm-sound-controls label{flex:1;min-width:100px;margin:0;font-size:.85rem}.rhythm-sound-controls input[type=range]{width:100%;min-height:28px;padding:0}@keyframes rhythm-hit-pop{0%{opacity:1;transform:scale(.85)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.rhythm-hit-pulse{animation:none}}.rhythm-stage .rhythm-note{will-change:transform}.rhythm-exit-dialog,.rhythm-hub-editor,.rhythm-pause-dialog,.rhythm-receipt-dialog,.rhythm-stage{--rhythm-panel:#fffaf3;--rhythm-soft:#fff1e3;--rhythm-ink:#60432e;--rhythm-muted:#89664e;--rhythm-line:#e5c99a;--rhythm-control-pink:#f782b1;--rhythm-raised-shadow:#ad4b7a;color:var(--rhythm-ink)}html[data-site-mode=dark] :is(.rhythm-stage,.rhythm-hub-editor,.rhythm-pause-dialog,.rhythm-exit-dialog,.rhythm-receipt-dialog){--rhythm-panel:#27241f;--rhythm-soft:#343029;--rhythm-ink:#fff2df;--rhythm-muted:#dbc6aa;--rhythm-line:#877259;color-scheme:dark}.rhythm-hub .rhythm-stage :is(.rhythm-selection-layout,.rhythm-advanced-controls,.rhythm-sound-controls,.rhythm-ranking-mode,.rhythm-live-hud){background:linear-gradient(135deg,var(--rhythm-panel),var(--rhythm-soft));border-color:var(--rhythm-line);color:var(--rhythm-ink)}.rhythm-hub .rhythm-stage .rhythm-selection-layout .rhythm-preparation{background:0 0;border:0}.rhythm-hub .rhythm-stage .rhythm-selection-layout .rhythm-selection-label{color:var(--rhythm-ink)}.rhythm-hub .rhythm-stage .rhythm-song-nav,.rhythm-hub .rhythm-stage :is(.rhythm-actions,.rhythm-service-tools,.rhythm-difficulty-pills,.rhythm-audio-actions) :is(button,a){border:1px solid var(--line,var(--rhythm-line));background:var(--paper,var(--rhythm-panel));color:var(--ink,var(--rhythm-ink));box-shadow:0 2px 0 var(--rhythm-line);border-radius:12px;font-weight:600}.rhythm-exit-dialog .rhythm-exit-resume,.rhythm-hub .rhythm-stage .rhythm-actions .rhythm-start,.rhythm-hub .rhythm-stage .rhythm-difficulty-pills button[aria-pressed=true],.rhythm-pause-dialog .rhythm-pause-resume,.rhythm-receipt-dialog .rhythm-receipt-actions button.primary{background:var(--rhythm-control-pink);border-color:var(--rhythm-control-pink);color:#fff;box-shadow:0 4px 0 var(--rhythm-raised-shadow),0 8px 18px #b3568524;text-shadow:0 1px 1px #94315a80;font-weight:800}.rhythm-exit-dialog .rhythm-exit-resume:active,.rhythm-hub .rhythm-stage .rhythm-actions .rhythm-start:active,.rhythm-pause-dialog .rhythm-pause-resume:active{box-shadow:0 2px 0 var(--rhythm-raised-shadow);transform:translateY(2px)}.rhythm-hub .rhythm-stage :is(.rhythm-preview,.rhythm-service-tools button,.rhythm-service-tools a,.rhythm-audio-test):hover:not(:disabled){background:var(--pink-soft,#ffe6f0);border-color:var(--pink,#f782b1)}.rhythm-stage>header>button.rhythm-header-pause>svg{border-color:var(--rhythm-control-pink);box-shadow:0 3px 0 var(--rhythm-raised-shadow)}.rhythm-stage>header>button.rhythm-header-action>svg{border-color:var(--rhythm-line)}.rhythm-hub .rhythm-stage :is(input:not([type=range]):not([type=checkbox]),select){background:var(--rhythm-panel);border-color:var(--rhythm-line);color:var(--rhythm-ink)}.rhythm-hub .rhythm-stage :is(button,a,input,select,summary):focus-visible{outline-color:var(--pink-deep,#ad4b7a)}html[data-site-mode=dark] .rhythm-hub>.rhythm-stage,html[data-site-mode=dark] .rhythm-stage{background:var(--rhythm-panel);border-color:var(--rhythm-line)}html[data-site-mode=dark] .rhythm-hub>.rhythm-stage:before,html[data-site-mode=dark] .rhythm-stage:before{background:linear-gradient(#27241fe8,#27241fed),url(/game/world/town-rhythm-city-v1.png) 50%/cover}html[data-site-mode=dark] .rhythm-hub .rhythm-stage .rhythm-stage-footer,html[data-site-mode=dark] .rhythm-hub .rhythm-stage>header{background:var(--rhythm-panel);border-color:var(--rhythm-line)}html[data-site-mode=dark] .rhythm-hub .rhythm-stage :is(h2,h3,p,label,small,strong,summary,output,figcaption,.rhythm-song-artist,.rhythm-audio-summary-values,.rhythm-sfx-state){color:var(--rhythm-ink)}html[data-site-mode=dark] .rhythm-stage .rhythm-lanes{background:#6b5942}html[data-site-mode=dark] .rhythm-stage .rhythm-lanes>.rhythm-lane{--lane-top:#24363b;--lane-bottom:#17313b;--note-color:#67e8f9;background:linear-gradient(180deg,var(--lane-top),var(--lane-bottom));color:#fff;border-color:#877259}html[data-site-mode=dark] .rhythm-stage .rhythm-lanes>.rhythm-lane:nth-child(2){--lane-top:#293547;--lane-bottom:#1f2c40;--note-color:#60a5fa}html[data-site-mode=dark] .rhythm-stage .rhythm-lanes>.rhythm-lane:nth-child(3){--lane-top:#3f3926;--lane-bottom:#332c19;--note-color:#fde68a}html[data-site-mode=dark] .rhythm-stage .rhythm-lanes>.rhythm-lane:nth-child(4){--lane-top:#2d4030;--lane-bottom:#203324;--note-color:#86efac}html[data-site-mode=dark] .rhythm-stage .rhythm-lanes>.rhythm-lane:is(.held,:active){background:linear-gradient(180deg,var(--lane-top),var(--lane-bottom));box-shadow:inset 0 0 0 2px #f2d28c}html[data-site-mode=dark] .rhythm-stage .rhythm-lanes>.rhythm-lane b{color:#fff2df;text-shadow:0 1px 2px #171717}html[data-site-mode=dark] .rhythm-stage .rhythm-lanes>.rhythm-lane.held b{color:#fff;text-shadow:none;background:#6b5942}html[data-site-mode=dark] .rhythm-stage .rhythm-lane>.rhythm-note.tap{background:var(--note-color);border-color:#fff2dd;box-shadow:0 2px #171717}html[data-site-mode=dark] .rhythm-stage .rhythm-lane>.rhythm-note.hold{background:linear-gradient(#f782b1,#efb77b);border-color:#f2d28c;box-shadow:0 2px #171717}html[data-site-mode=dark] .rhythm-stage .rhythm-countdown{background:var(--rhythm-soft);color:var(--rhythm-ink)}html[data-site-mode=dark] .rhythm-stage .rhythm-judgement.perfect{color:#fde68a}html[data-site-mode=dark] .rhythm-stage .rhythm-judgement.good{color:#86efac}html[data-site-mode=dark] .rhythm-stage .rhythm-judgement.miss{color:#f782b1}.rhythm-exit-dialog.rhythm-exit-dialog,.rhythm-pause-dialog.rhythm-pause-dialog,.rhythm-receipt-dialog.rhythm-receipt-dialog{background:linear-gradient(150deg,var(--rhythm-panel),var(--rhythm-soft));border-color:var(--rhythm-line);color:var(--rhythm-ink)}:is(.rhythm-pause-dialog,.rhythm-exit-dialog,.rhythm-receipt-dialog) :is(h2,h3,p,small,strong,a){color:var(--rhythm-ink)}.rhythm-receipt-dialog :is(.rhythm-receipt-score,.rhythm-receipt-state,.rhythm-receipt-rewards){background:var(--rhythm-soft);border-color:var(--rhythm-line)}:is(.rhythm-pause-dialog,.rhythm-exit-dialog) :is(.rhythm-pause-code>span,.rhythm-pause-icon,.rhythm-exit-icon){background:var(--rhythm-soft);border-color:var(--rhythm-line);color:var(--rhythm-ink)}.rhythm-exit-dialog .rhythm-exit-leave,.rhythm-pause-dialog .rhythm-pause-exit,.rhythm-receipt-dialog .rhythm-receipt-actions button:not(.primary){background:var(--rhythm-panel);border-color:var(--rhythm-line);color:var(--rhythm-ink)}.rhythm-exit-dialog.rhythm-exit-dialog>h2,.rhythm-exit-dialog.rhythm-exit-dialog>p,.rhythm-pause-dialog.rhythm-pause-dialog>h2,.rhythm-pause-dialog.rhythm-pause-dialog>p,.rhythm-receipt-dialog .rhythm-receipt-score strong{color:var(--rhythm-ink)}.rhythm-stage>header>button.rhythm-header-action>svg{background:var(--rhythm-panel);color:var(--rhythm-ink)}.rhythm-stage>header>button.rhythm-header-pause>svg{background:var(--rhythm-control-pink);color:#fff}html[data-site-mode=dark] .rhythm-hub .rhythm-stage .rhythm-live-hud :is(b,span),html[data-site-mode=dark] .rhythm-hub .rhythm-stage .rhythm-tempo-badge{color:var(--rhythm-ink)}html[data-site-mode=dark] .rhythm-stage .rhythm-tempo-badge{background:var(--rhythm-soft);border-color:var(--rhythm-line)}html[data-site-mode=dark] .rhythm-hub-editor.rhythm-admin :is(input,select,textarea){background:var(--rhythm-panel);color:var(--rhythm-ink);border-color:var(--rhythm-line)}html[data-site-mode=dark] .rhythm-hub-editor.rhythm-admin :is(h2,h3,p,small,label,summary){color:var(--rhythm-ink)}@media (forced-colors:active){.rhythm-receipt-dialog button,.rhythm-stage :is(button,a,input,select){forced-color-adjust:auto}}html[data-site-mode=dark] .rhythm-hub .rhythm-stage .rhythm-song-strip button[aria-pressed=true] strong{color:#f2d28c}html[data-site-mode=dark] .rhythm-stage .rhythm-judgement.bad{color:#efb77b}.rhythm-hub .rhythm-stage>header h2,.rhythm-service-status{color:var(--rhythm-ink)}.rhythm-service-status{background:var(--rhythm-soft);border:1px solid var(--rhythm-line)}.rhythm-hub .rhythm-stage .rhythm-service-status p{color:var(--rhythm-ink)}.rhythm-hub .rhythm-stage .rhythm-service-status button{background:var(--rhythm-panel);color:var(--rhythm-ink);border-color:var(--rhythm-line);box-shadow:0 2px 0 var(--rhythm-line);border-radius:12px}.rhythm-hub .rhythm-stage:not(.is-playing)>header{gap:8px;margin-bottom:0;padding:10px 14px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-service-tools{align-items:center;gap:4px;margin-top:4px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-service-tools :is(button,a){box-sizing:border-box;border:1px solid var(--rhythm-line);background:var(--rhythm-soft);min-width:44px;min-height:44px;color:var(--rhythm-ink);border-radius:10px;justify-content:center;align-items:center;padding:6px 10px;font-size:.75rem;line-height:1.35;text-decoration:none;display:inline-flex}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body>aside>label input{background:var(--rhythm-soft);border-color:var(--rhythm-line);min-height:44px}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip-heading{min-height:24px;margin:0;font-size:.75rem}.rhythm-stage .rhythm-song-carousel{grid-template-columns:44px minmax(0,1fr) 44px;align-items:start;gap:4px;min-width:0;display:grid}.rhythm-stage .rhythm-song-carousel>.rhythm-song-nav{width:44px;min-width:44px;height:44px;min-height:44px;margin-top:calc(var(--record-size,128px)/2 - 6px);border:1px solid var(--rhythm-line);background:var(--rhythm-soft);color:var(--rhythm-ink);border-radius:50%;place-items:center;padding:0;font-size:1.6rem;line-height:1;display:grid}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip{scrollbar-width:thin;scrollbar-color:var(--rhythm-control-pink) var(--rhythm-soft);gap:8px;min-width:0;height:auto;min-height:0;padding:12px 8px 8px}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip::-webkit-scrollbar{height:8px;display:block}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip::-webkit-scrollbar-track{background:var(--rhythm-soft);border-radius:999px}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip::-webkit-scrollbar-thumb{border:1px solid var(--rhythm-line);background:var(--rhythm-control-pink);border-radius:999px}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip button{grid-template-rows:var(--record-size,128px) auto;border-radius:12px;gap:10px;min-height:0;padding:6px 2px 8px}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-card-meta{align-content:start;justify-items:center;gap:3px;width:100%;min-width:0;display:grid}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-card-meta>.rhythm-song-card-title{overflow-wrap:anywhere;height:auto;min-height:0;max-height:none;margin:0;line-height:1.35}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-card-details{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 6px;width:100%;min-width:0;display:flex}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-card-details>small{width:auto;min-width:0;max-width:100%;min-height:0;color:var(--rhythm-muted);white-space:normal;overflow-wrap:anywhere;flex:0 auto;margin:0;font-size:.72rem;line-height:1.35;display:block}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-card-details>.rhythm-tempo-badge{flex:none;max-width:100%;margin:0}.rhythm-stage:not(.is-playing) .rhythm-selection-layout{border:1px solid var(--rhythm-line);background:var(--rhythm-panel);box-sizing:border-box;border-radius:18px;grid-template-columns:minmax(0,180px) minmax(0,1fr);align-items:start;gap:20px;min-width:0;margin:0 0 8px;padding:14px;display:grid}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-preparation{text-align:center;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;min-width:0;margin:0;padding:0;display:flex}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-preparation .rhythm-avatar{flex:none;width:84px;max-width:84px;margin:0}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-avatar-render{width:84px;height:126px}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-preparation>div{flex:none;width:100%;min-width:0}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-preparation h3{margin:0;font-size:.95rem;line-height:1.35}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-preparation p{margin:4px 0 0;font-size:.75rem;line-height:1.45}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-song-artist{flex-direction:column;align-items:center;gap:4px;display:flex}.rhythm-stage:not(.is-playing) .rhythm-selection-settings{grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);align-items:start;gap:12px;min-width:0;display:grid}.rhythm-stage:not(.is-playing) .rhythm-selection-options:first-child,.rhythm-stage:not(.is-playing) .rhythm-selection-settings:first-child{grid-column:1/-1}.rhythm-stage:not(.is-playing) .rhythm-selection-settings .rhythm-difficulty-pills{flex-direction:column;gap:6px;min-width:0;margin:0;display:flex}.rhythm-stage:not(.is-playing) .rhythm-selection-settings .rhythm-difficulty-pills button{border:1px solid var(--rhythm-line);background:var(--rhythm-soft);width:100%;min-width:44px;min-height:46px;color:var(--rhythm-ink);border-radius:12px;flex:none;padding:9px 10px;line-height:1.4}.rhythm-stage:not(.is-playing) .rhythm-selection-settings .rhythm-difficulty-pills button[aria-pressed=true]{border-color:var(--rhythm-line);background:var(--rhythm-control-pink);color:#fff;box-shadow:0 4px 0 var(--rhythm-raised-shadow);text-shadow:0 1px 1px #94315a80;font-weight:800}.rhythm-stage:not(.is-playing) .rhythm-selection-settings .rhythm-difficulty-pills button:disabled{cursor:not-allowed;border-style:dashed}.rhythm-stage .rhythm-selection-label{margin-bottom:2px;font-size:.8rem;font-weight:600;line-height:1.5}.rhythm-stage:not(.is-playing) .rhythm-selection-options{gap:8px;min-width:0;display:grid}.rhythm-stage:not(.is-playing) .rhythm-selection-options :is(.rhythm-advanced-controls,.rhythm-sound-controls){border:1px solid var(--rhythm-line);background:var(--rhythm-soft);border-radius:12px;min-width:0;margin:0;padding:0}.rhythm-stage:not(.is-playing) .rhythm-selection-options :is(.rhythm-advanced-controls,.rhythm-sound-controls)>summary{box-sizing:border-box;cursor:pointer;overflow-wrap:anywhere;min-height:44px;margin:0;padding:10px;font-size:.78rem;line-height:1.5}.rhythm-stage:not(.is-playing) .rhythm-selection-options .rhythm-advanced-controls .rhythm-options{margin:0;padding:0 10px 10px}.rhythm-stage:not(.is-playing) .rhythm-selection-options .rhythm-options input{box-sizing:border-box;width:100%;min-width:0;min-height:44px}.rhythm-stage:not(.is-playing) .rhythm-selection-options .rhythm-audio-summary-values{flex-basis:100%;margin-left:16px;font-size:.68rem;line-height:1.4}.rhythm-stage:not(.is-playing) .rhythm-selection-options .rhythm-audio-settings{grid-template-columns:minmax(0,1fr);gap:4px;padding:0 10px 10px}.rhythm-stage:not(.is-playing) .rhythm-selection-options .rhythm-audio-actions{gap:6px}.rhythm-stage:not(.is-playing) .rhythm-selection-options .rhythm-audio-test{width:100%;min-height:44px}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row input[type=range]{border-radius:12px;height:44px;min-height:44px}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row input[type=range]::-webkit-slider-runnable-track{border-color:var(--rhythm-line);height:8px}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row input[type=range]::-webkit-slider-thumb{border:2px solid var(--rhythm-line);width:22px;height:22px;margin-top:-8px;box-shadow:0 2px 4px #17171720}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row input[type=range]::-moz-range-track{border-color:var(--rhythm-line);height:6px}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row input[type=range]::-moz-range-progress{height:6px}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row input[type=range]::-moz-range-thumb{border:2px solid var(--rhythm-line);width:18px;height:18px;box-shadow:0 2px 4px #17171720}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-footer{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:var(--rhythm-panel)}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-footer .rhythm-actions button{border-radius:12px;min-width:44px;min-height:48px;padding:9px 12px;font-size:.9rem;line-height:1.4}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-footer .rhythm-preview{background:var(--rhythm-soft);border-color:var(--rhythm-line);color:var(--rhythm-ink)}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-footer .rhythm-start{color:#fff;box-shadow:0 4px 0 var(--rhythm-raised-shadow),0 8px 18px #b3568524;text-shadow:0 1px 1px #94315a80;background:#f782b1;border-color:#f782b1;font-weight:800}.rhythm-stage :is(.rhythm-song-nav,.rhythm-service-tools button,.rhythm-service-tools a):hover:not(:disabled){background:var(--rhythm-control-pink);color:var(--rhythm-ink);border-color:var(--rhythm-line)}.rhythm-stage :is(.rhythm-song-nav,.rhythm-service-tools a,.rhythm-selection-options summary):focus-visible{outline:3px solid var(--rhythm-line);outline-offset:2px}.rhythm-stage.is-playing :is(.rhythm-selection-layout,.rhythm-selection-settings,.rhythm-selection-options){display:contents}@media (max-width:620px){.rhythm-stage:not(.is-playing) .rhythm-selection-layout{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-preparation{text-align:left;flex-direction:row;gap:12px}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-preparation>div{flex:1;width:auto}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-song-artist{align-items:flex-start}.rhythm-stage:not(.is-playing) .rhythm-selection-settings{grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr);gap:10px}.rhythm-stage .rhythm-song-carousel{gap:2px}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip{padding-inline:6px}.rhythm-hub .rhythm-stage:not(.is-playing)>header{padding:8px 10px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-footer{padding-inline:8px}}@media (forced-colors:active){.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-footer .rhythm-start,.rhythm-stage:not(.is-playing) .rhythm-selection-settings button[aria-pressed=true]{border:2px solid highlight}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row input[type=range]{appearance:auto;accent-color:auto}}.rhythm-receipt-overlay{z-index:1200;background:#000000a6;position:fixed;inset:0}.rhythm-receipt-dialog{z-index:1201;background:var(--rhythm-panel);width:min(92vw,510px);max-height:90dvh;color:var(--rhythm-ink);border:2px solid var(--rhythm-line);text-align:center;border-radius:22px;padding:24px;font-family:inherit;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 24px 90px #17171777}.rhythm-receipt-dialog h2{margin:0 0 8px;font-size:28px}.rhythm-receipt-dialog [id]{scroll-margin-top:12px}.rhythm-receipt-song{overflow-wrap:anywhere;font-size:18px;font-weight:700}.rhythm-receipt-score{background:var(--rhythm-panel);border-radius:16px;gap:4px;padding:16px;display:grid}.rhythm-receipt-score strong{color:var(--rhythm-ink);font-size:42px}.rhythm-receipt-stats{justify-content:center;gap:30px;display:flex}.rhythm-receipt-stats p{gap:5px;display:grid}.rhythm-receipt-stats b{font-size:24px}.rhythm-receipt-hits{font-size:13px}.rhythm-receipt-rewards,.rhythm-receipt-state{background:var(--rhythm-panel);border-radius:12px;padding:12px;line-height:1.6}.rhythm-receipt-rewards{margin:12px 0}.rhythm-receipt-rewards h3{margin:0;font-size:16px}.rhythm-receipt-rewards p{margin:6px 0}.rhythm-receipt-dialog a{color:var(--rhythm-ink);text-decoration:underline}.rhythm-receipt-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.rhythm-receipt-actions button{border:1px solid var(--rhythm-line);background:var(--rhythm-panel);min-height:44px;color:var(--rhythm-ink);cursor:pointer;border-radius:10px;padding:12px 15px}.rhythm-receipt-actions button:disabled{opacity:.5;cursor:default}.rhythm-receipt-dialog :focus-visible{outline:3px solid var(--rhythm-control-pink);outline-offset:3px}@media (max-width:400px){.rhythm-receipt-dialog{padding:18px}.rhythm-receipt-score strong{font-size:34px}.rhythm-receipt-stats{gap:22px}}.rhythm-editor{background:var(--rhythm-panel);color:var(--rhythm-ink);border:1px solid var(--rhythm-line);border-radius:18px;min-width:0;max-width:100%;padding:16px}.rhythm-editor button,.rhythm-editor input,.rhythm-editor select{font:inherit;border:1px solid var(--rhythm-line);background:var(--rhythm-panel);border-radius:10px;min-height:44px;padding:7px}.rhythm-editor button{cursor:pointer}.rhythm-editor button:disabled{opacity:.5;cursor:default}.rhythm-editor-fields{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.rhythm-editor-fields label{flex-direction:column;max-width:100%;display:flex}.rhythm-editor-fields input{width:140px;max-width:100%}.rhythm-editor-fields input[type=checkbox]{width:24px}.rhythm-editor-pads{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0;display:grid}.rhythm-editor-pads button{touch-action:none;background:var(--rhythm-soft)}.rhythm-editor-notes{max-height:320px;margin:12px 0;overflow:auto}.rhythm-editor table{text-align:left;border-collapse:collapse;width:100%}.rhythm-editor td,.rhythm-editor th{border-bottom:1px solid var(--rhythm-line);padding:5px}.rhythm-editor fieldset{border:1px solid var(--rhythm-line);border-radius:12px;min-width:0}.rhythm-editor-pads button{color:#f5f5f5;border:2px solid var(--rhythm-line);min-height:58px;box-shadow:none;-webkit-user-select:none;user-select:none;background:#f782b1;border-radius:16px;font-weight:700}.rhythm-editor-pads button.held{outline-offset:-6px;background:#f782b1;outline:3px solid #fff}.rhythm-editor-pads small{font-size:12px;font-weight:400;display:block}.rhythm-editor-clock{border:1px solid var(--rhythm-line);background:var(--rhythm-panel);font-variant-numeric:tabular-nums;border-radius:12px;padding:8px 10px}.rhythm-editor .rhythm-record-snap{align-items:center;gap:8px;min-height:44px;line-height:1.5;display:flex}.rhythm-editor .rhythm-record-snap input{flex:none;width:24px;min-height:24px;padding:0}.rhythm-rankings{--rankings-pink:#f782b1;width:100%;min-width:0;max-width:900px;color:var(--foreground,#303030);background:var(--background,#fffdfd);background-image:linear-gradient(145deg,transparent,var(--secondary,#fff5f9));color-scheme:light;font:inherit;overflow-wrap:anywhere;margin:0 auto;padding:20px 18px 40px}html[data-site-mode=dark] .rhythm-rankings{color-scheme:dark}.rhythm-rankings header,.rhythm-rankings section{border:1px solid var(--border,#efd6e1);min-width:0;color:var(--card-foreground,#303030);background:var(--card,#fff);background-image:linear-gradient(145deg,var(--card,#fff),var(--secondary,#fff5f9));box-shadow:var(--soft-shadow,0 4px 16px #0000000a);border-radius:16px;margin:0 0 12px;padding:18px}.rhythm-rankings header{border-top:3px solid var(--rankings-pink)}.rhythm-rankings header>small{letter-spacing:.06em;margin-top:12px;font-size:12px;font-weight:700;display:block}.rhythm-rankings h1,.rhythm-rankings h2{color:var(--card-foreground,#303030);overflow-wrap:anywhere;line-height:1.5}.rhythm-rankings h1{margin:4px 0 8px;font-size:clamp(26px,4vw,34px)}.rhythm-rankings h2{margin:0 0 8px;font-size:20px}.rhythm-rankings p{color:var(--card-foreground,#303030);margin:0;line-height:1.65}.rhythm-rankings>p{color:var(--foreground,#303030);margin-bottom:12px;padding:10px 12px}.rhythm-rankings footer,.rhythm-rankings small{color:var(--muted-foreground,#595959);line-height:1.65}.rhythm-rankings a{color:var(--foreground,#303030);text-underline-offset:3px;text-decoration:underline}.rhythm-rankings a:hover{color:var(--accent-foreground,#a72e62)}.rhythm-rankings header>a{align-items:center;min-height:44px;display:inline-flex}.rhythm-rankings section[role=alert]>a{margin:12px 0 0 12px;display:inline-flex}.rhythm-rankings label{color:var(--card-foreground,#303030);font-weight:600;display:block}.rhythm-rankings option,.rhythm-rankings select{color:var(--card-foreground,#303030);background:var(--card,#fff);font:inherit}.rhythm-rankings select{border:1px solid var(--muted-foreground,#595959);text-overflow:ellipsis;border-radius:10px;width:100%;min-width:0;max-width:100%;min-height:46px;margin-top:8px;padding:10px 12px;display:block}.rhythm-rankings select:disabled{opacity:.7;cursor:wait}.rhythm-rankings ol,.rhythm-rankings ul{margin:12px 0;padding:0;list-style:none}.rhythm-rankings li{border-bottom:1px solid var(--border,#efd6e1);min-width:0;color:var(--card-foreground,#303030);align-items:center;gap:14px;padding:12px 8px;display:flex}.rhythm-rankings li:last-child{border-bottom:0}.rhythm-rankings li.is-own{border:1px solid var(--rankings-pink);background:var(--secondary,#fff5f9);color:var(--secondary-foreground,#303030);border-radius:12px;padding:12px}.rhythm-rankings li.is-own small{color:inherit}.rhythm-rankings li div{gap:3px;min-width:0;display:grid}.rhythm-rankings .ranking-place{background:var(--rankings-pink);color:#303030;text-align:center;font-variant-numeric:tabular-nums;border-radius:9px;flex:none;min-width:46px;padding:3px 8px;font-size:20px}.rhythm-rankings nav{flex-wrap:wrap;gap:10px;padding-top:8px;display:flex}.rhythm-rankings button.btn{white-space:normal;max-width:100%;min-height:44px;font:inherit;padding:9px 14px;font-size:14px;font-weight:600;line-height:1.5}.rhythm-rankings button+p{margin-top:10px}.rhythm-rankings button:disabled{cursor:not-allowed}.rhythm-rankings :focus-visible{outline:3px solid var(--ring,#c94378);outline-offset:3px}.rhythm-rankings footer{padding:2px 10px;font-size:13px}@media (max-width:480px){.rhythm-rankings{padding:12px 10px 28px}.rhythm-rankings header,.rhythm-rankings section{border-radius:13px;padding:14px}.rhythm-rankings h2{font-size:18px}.rhythm-rankings li{gap:10px;padding:10px 0}.rhythm-rankings li.is-own{padding:10px}.rhythm-rankings nav{gap:8px}.rhythm-rankings nav button{flex:100px}.rhythm-rankings section[role=alert]>a{margin-left:0;display:flex}}.rhythm-rankings .ranking-arcade-title{color:var(--card-foreground,#303030);letter-spacing:.14em;font-size:clamp(22px,5vw,32px);font-weight:900;line-height:1.4;display:block}.rhythm-rankings .ranking-selectors{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;display:grid}.rhythm-rankings .ranking-selectors label:last-child:nth-child(3){grid-column:1/-1}.rhythm-rankings .ranking-song-summary{align-items:center;gap:12px;display:flex}.rhythm-rankings .ranking-song-summary>div{min-width:0}.rhythm-rankings .ranking-song-summary img{object-fit:cover;border-radius:12px;flex:0 0 64px;width:64px;height:64px}.rhythm-rankings .ranking-song-summary small{font-size:11px}.rhythm-rankings .ranking-champion{border:2px solid #c89125}.rhythm-rankings .ranking-champion ol{margin:4px 0}.rhythm-rankings li .ranking-member{flex:auto;min-width:0}.rhythm-rankings li .ranking-score{text-align:right;flex:none;gap:0}.rhythm-rankings .ranking-score strong{color:var(--card-foreground,#303030);font-variant-numeric:tabular-nums;font-size:clamp(21px,4vw,30px);font-weight:900;line-height:1.25}.rhythm-rankings .ranking-score small{letter-spacing:.06em;font-size:11px}.rhythm-rankings li.podium-1 .ranking-place{color:#463311;background:#f5d47d}.rhythm-rankings li.podium-2 .ranking-place{color:#304453;background:#dce5ec}.rhythm-rankings li.podium-3 .ranking-place{color:#543523;background:#f1c4a6}.rhythm-rankings.rhythm-rankings-embedded{padding:12px}.rhythm-rankings.rhythm-rankings-embedded header{padding:12px 16px}.rhythm-rankings.rhythm-rankings-embedded header>small{margin-top:0}@media (max-width:480px){.rhythm-rankings .ranking-selectors{grid-template-columns:minmax(0,1fr) minmax(105px,.55fr);gap:8px}.rhythm-rankings .ranking-score strong{font-size:21px}.rhythm-rankings li{flex-wrap:wrap;gap:8px}.rhythm-rankings li .ranking-member{flex-basis:calc(100% - 65px)}.rhythm-rankings li .ranking-score{margin-left:auto}.rhythm-rankings .ranking-song-summary img{flex-basis:52px;width:52px;height:52px}}.rhythm-rankings summary{cursor:pointer;min-height:44px;color:var(--card-foreground,#303030);align-content:center;font-weight:700;display:list-item}.game-scene-menu{position:absolute;right:12px;bottom:10px;z-index:22}.game-scene-menu .game-companion{padding:0}.game-scene-menu .game-companion-trigger,.game-scene-menu .game-scene-action{min-height:34px!important;padding:5px 9px!important;border:1px solid #d79ab8!important;border-radius:10px;background:#fffaf2ee!important;color:#8b4a70!important;box-shadow:0 3px 0 #bd87a5a3,0 5px 12px #46283a25;font-size:11px!important;font-weight:800;backdrop-filter:blur(5px)}.game-exploration-scene>.game-active-buffs{right:12px;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;max-height:min(180px,calc(100% - 170px));max-width:60px;overflow-y:auto;overscroll-behavior:contain;padding:3px;scrollbar-width:thin}.game-active-buff{flex-shrink:0}.game-active-buff-popup{z-index:90;width:min(260px,calc(100vw - 24px));max-height:50dvh;overflow:auto;padding:11px;border-radius:8px;background:#432b42!important;color:#fff!important;font-size:12px;line-height:1.55}.game-active-buff-popup>small,.game-active-buff-popup>span,.game-active-buff-popup>strong{display:block}.game-active-buff-popup>small{color:#f6ddea;margin-top:5px}.game-companion-dialog.wardrobe-dialog{display:flex;flex-direction:column;height:min(760px,92dvh);max-height:92dvh;overflow:hidden!important;gap:10px}.wardrobe-dialog>div:first-child{flex-shrink:0;padding-right:18px}.wardrobe-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;flex:1;min-height:0;overflow:hidden}.wardrobe-workspace>.wardrobe-preview{align-self:start;margin:0;padding:12px}.wardrobe-list{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:3px 5px 8px}.wardrobe-list:focus-visible{outline:2px solid #bc467c;outline-offset:-2px}.game-desktop-shortcut{display:block;color:var(--muted-foreground,#806374);font-size:12px}.game-equipped-skill{position:relative;padding-bottom:30px}.game-battle-pinnerz .game-four-skills .game-equipped-cast,.game-four-skills .game-equipped-cast{min-height:62px;padding:6px;gap:5px}.game-skill-details-trigger{position:absolute;right:3px;bottom:1px;min-height:30px;padding:3px 7px;border:0;background:transparent;color:inherit;font-size:11px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.game-admin-effect-preview{padding:12px;border:1px solid #dcb9ce;border-radius:10px;background:var(--card,#fff9f5)}.game-admin-effect-preview p{margin:5px 0}@media(max-width:560px){.game-scene-menu{right:7px;bottom:7px}.game-exploration-scene>.game-active-buffs{right:7px;bottom:49px;max-height:min(160px,calc(100% - 155px))}.wardrobe-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:6px}.wardrobe-workspace>.wardrobe-preview{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:4px;padding:6px}.wardrobe-preview>.game-avatar{grid-row:span 2;width:80px;height:112px}.wardrobe-preview p{margin:0;font-size:12px}.wardrobe-preview .btn{min-height:36px;font-size:12px;padding:4px}.wardrobe-dialog{padding:14px!important}.wardrobe-dialog [data-slot=dialog-title]{font-size:17px}.wardrobe-dialog [data-slot=dialog-description]{font-size:12px;line-height:1.4}.game-desktop-shortcut{display:none}}@media(max-height:530px){.wardrobe-workspace{grid-template-columns:120px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.wardrobe-workspace>.wardrobe-preview{display:block;padding:4px}.wardrobe-preview>.game-avatar{width:64px;height:90px}.wardrobe-preview p{font-size:10px;margin:2px}.wardrobe-preview .btn{font-size:10px;padding:3px}.wardrobe-dialog [data-slot=dialog-description]{display:none}}.game-equipped-skill{padding-bottom:0}.game-battle-pinnerz .game-four-skills .game-equipped-cast,.game-four-skills .game-equipped-cast{height:100%;min-height:92px;padding:6px 6px 30px}.game-skill-details-trigger{text-decoration:none!important}.game-skill-details-trigger:focus-visible{outline:2px solid #b85b89;outline-offset:-2px;border-radius:5px}.game-battle-pinnerz .game-battle-actions .game-skill-details-trigger,.game-four-skills .game-equipped-skill>.game-skill-details-trigger{position:absolute;inset:auto 3px 1px auto;display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:44px;max-width:none;height:32px;min-height:32px;margin:0;padding:3px 7px;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;font:400 11px/1.3 var(--site-font,"Anuphan",Tahoma,sans-serif);text-decoration:none}.game-field-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.game-field-heading>div{min-width:0}.game-online-count{flex:none;margin-left:auto;white-space:nowrap;font-size:12px;font-weight:700}.game-field-heading p{margin:4px 0 8px}@media(max-width:480px){.game-field-heading{gap:8px}.game-online-count{font-size:11px}}.game-stage.battle-active .game-battle-field{position:relative;padding-right:64px}.game-battle-field>.game-active-buffs{position:absolute;inset:12px 4px 12px auto;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-end;gap:6px;max-width:52px;max-height:calc(100% - 24px);margin:0;padding:3px;background:transparent;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}@media(max-width:560px){.game-stage.battle-active .game-battle-field{padding-right:58px}.game-battle-field>.game-active-buffs{right:0;gap:4px}}.game-frame-chat-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;flex-shrink:0}.game-frame-chat-toggle svg{flex-shrink:0}.game-scene-actions{display:flex;align-items:center;gap:6px}.game-scene-menu .game-scene-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;box-sizing:border-box;padding:0!important;text-decoration:none;touch-action:manipulation;cursor:pointer}.game-scene-action svg{width:16px;height:16px;flex:none}.game-scene-menu .game-scene-action:focus-visible{outline:3px solid #ab547f;outline-offset:2px}.game-stage.battle-active .game-battle-field{padding-right:4px}.game-battle-field>.game-active-buffs,.game-exploration-scene>.game-active-buffs{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;gap:2px;width:52px;max-width:52px;overflow:visible;padding:2px;min-height:0}.game-exploration-scene>.game-active-buffs{max-height:min(180px,calc(100% - 120px));bottom:54px}.game-battle-field>.game-active-buffs{top:6px;bottom:auto;right:0;max-height:min(164px,calc(100% - 12px))}.game-active-buffs-items{display:flex;flex-direction:column;gap:4px;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;padding:2px}.game-active-buffs-items::-webkit-scrollbar{display:none}.game-active-buffs .game-buff-scroll{flex-shrink:0;width:46px;height:26px;min-height:26px;padding:0;border:1px solid #d6a0c6;border-radius:6px;background:#fff8fcee;color:#793c6b;line-height:1;cursor:pointer}.game-active-buffs .game-buff-scroll:disabled{opacity:.38;cursor:default}.game-active-buffs .game-buff-scroll:focus-visible{outline:2px solid #a64388;outline-offset:1px}@media(max-width:600px){.game-exploration-scene>.game-active-buffs{right:7px;bottom:49px;max-height:min(164px,calc(100% - 110px))}.game-battle-field>.game-active-buffs{max-height:144px}}.game-map-label small,.game-map-label span{overflow-wrap:anywhere;white-space:normal}.game-map-label{max-width:min(75%,300px)}.game-battle-field>.game-active-buffs{left:0;right:auto}@media(max-width:600px){.game-stage.battle-active .game-battle-field{min-height:430px}.game-battle-field:has(.game-battle-enemies>.game-combatant:nth-child(3)) .game-battle-allies{max-width:40%;flex:.8}.game-battle-pinnerz .game-battle-enemies:has(>.game-combatant:nth-child(3)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:54%;flex:1.2;gap:10px 5px}.game-battle-enemies:has(>.game-combatant:nth-child(3))>.game-combatant{width:100%;max-width:100%}.game-battle-enemies:has(>.game-combatant:nth-child(3)) .game-fighter-art{height:112px}.game-battle-enemies:has(>.game-combatant:nth-child(3)) .game-fighter-art>img:not(.game-skill-effect){height:110px;width:120px;max-width:100%;object-fit:contain}}.game-scene.game-exploration-scene.game-scene-suspended{background:linear-gradient(135deg,#fffdf9,#fff7ef 52%,#fcebf3)}.game-dungeon-guard{box-sizing:border-box;width:100%;max-width:520px;margin:0 auto;padding:16px;border:1px solid #e4cba1;border-radius:18px;background:linear-gradient(145deg,#fffdf7,#fff3f8);box-shadow:0 6px 18px #a6497810;color:var(--game-ink,#44364f)}.game-dungeon-guard>p{margin:0 0 8px;font-size:13px;line-height:1.65;color:#77596c}.game-dungeon-guard>[role=status]{padding:10px 12px;border:1px solid #e9d9b8;border-radius:12px;background:#fffaf0;color:#86602e}.game-dungeon-guard .game-dungeon-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #eed7df}.game-dungeon-guard .game-dungeon-entry label{display:flex;min-width:0;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#8d496e}.game-dungeon-guard .game-dungeon-entry select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:9px 12px;border:1px solid #dfbdcd;border-radius:12px;background:#fffdfa;color:#68415d;font:inherit}.game-dungeon-guard .game-dungeon-entry .btn{box-sizing:border-box;min-height:44px;padding:10px 16px;border:1px solid #dca3bd;border-radius:12px;background:linear-gradient(115deg,#ffe4ee,#fff0d8);color:#924b70;font-weight:600;white-space:normal}.game-dungeon-guard .game-dungeon-entry .btn:focus-visible,.game-dungeon-guard .game-dungeon-entry select:focus-visible{outline:3px solid #bd6c96;outline-offset:2px}.game-dungeon-guard .game-dungeon-entry .btn:disabled{opacity:.55;cursor:default}.game-dungeon-guard .game-dungeon-entry small{grid-column:1/-1;font-size:11px;line-height:1.6;color:#91717f}@media(max-width:560px){.game-dungeon-guard{padding:12px;border-radius:15px}.game-dungeon-guard .game-dungeon-entry{grid-template-columns:minmax(0,1fr)}.game-dungeon-guard .game-dungeon-entry .btn{width:100%}}.game-field-navigation{display:contents}.game-field-navigation>.game-field-skills,.game-field-navigation>.game-toolbar{order:2}@media(min-width:768px) and (max-width:900px){.game-field-navigation>.game-field-skills,.game-field-navigation>.game-toolbar{order:5}}@media(max-width:767px){.game-field-navigation{display:flex;flex-direction:column;min-width:0}.game-field-navigation>.game-toolbar{order:-1}.game-field-navigation>.game-toolbar>button{min-height:44px}.game-field-navigation>.game-field-skills{padding:8px}.game-field-skills .game-field-heading{align-items:center;gap:6px;margin-bottom:6px}.game-field-skills .game-field-heading strong{font-size:12px;line-height:1.4}.game-field-skills .game-field-heading p{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.game-field-skills .game-online-count{font-size:11px}.game-field-skills .game-four-skills{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.game-field-skills .game-equipped-skill{display:flex;flex-direction:column;border-radius:8px}.game-field-skills .game-four-skills .game-equipped-cast{flex:1;flex-direction:column;justify-content:flex-start;gap:3px;height:auto;min-height:80px;padding:5px 3px 2px;text-align:center}.game-field-skills .game-equipped-cast>.game-skill-icon{flex:0 0 26px;width:26px!important;height:26px!important}.game-field-skills .game-equipped-cast>span:not(.game-skill-icon){width:100%;min-width:0}.game-field-skills .game-equipped-cast b{font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.game-field-skills .game-equipped-cast small{font-size:10px!important;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.game-field-skills .game-four-skills .game-equipped-skill>.game-skill-details-trigger{position:static;inset:auto;flex:none;width:100%;min-width:44px;height:auto;min-height:44px;padding:4px 2px;font-size:10px;line-height:1.3;border-top:1px solid #dcb9c955;border-radius:0;white-space:normal}.game-field-skills .game-skill-empty{min-width:0;min-height:124px;padding:5px 3px;font-size:11px;overflow-wrap:anywhere}}.game-battle.game-battle-pinnerz{background-image:none;background-color:var(--card,#fff9f5)}.game-battle-pinnerz:before{display:none}.game-battle-visual{position:relative;isolation:isolate;flex:none;margin:-16px -12px 0;padding:16px 12px 0;background-size:cover;background-position:top;overflow:hidden}.game-battle-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(#291d1328,transparent 20%,#fff9ea12 65%,#fff6e538);pointer-events:none;z-index:-1}.game-battle-visual>.game-battle-field{position:relative}.game-battle-status-slot{min-height:1.8em;font-size:12px;line-height:1.8}.game-battle-status-slot>.game-battle-pending{margin:0}.user-settings-dialog{width:min(680px,calc(100vw - 24px))!important;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--card,#fff8f6);color:var(--foreground,#624959)}.user-settings-tabs{display:flex;gap:6px;flex-wrap:wrap;padding-right:12px}.user-settings-tabs .btn{font-size:12px;min-height:40px;padding:6px 10px}.user-settings-tabs [aria-pressed=true]{background:#b9437e;color:white}.user-settings-body{min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;gap:16px;padding:4px}.user-settings-body label{display:grid;gap:7px;min-width:0}.user-settings-body select{width:100%;min-height:42px;min-width:0}.user-settings-body small{line-height:1.6;opacity:.8}.user-settings-body .user-settings-check{display:flex;align-items:center;gap:10px;min-height:44px}.user-settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.user-settings-row span{overflow-wrap:anywhere}.user-settings-dialog [data-slot=dialog-header]{padding-right:20px}@media(max-width:480px){.user-settings-dialog{padding:16px!important}.user-settings-tabs .btn{flex:1 1 130px}}.user-settings-dialog{border:1px solid #d7a7b8;background:#fffaf7;color:#533747}.user-settings-tabs .btn{border:1px solid #c798ad;background:#fff2e9;color:#653e52}.user-settings-tabs [aria-pressed=true]{border-color:#98315f;background:#a9366b;color:#fff;box-shadow:inset 0 -2px 0 #7e234a}.user-settings-body>label,.user-settings-row{border:1px solid #e0bfc9;border-radius:11px;background:#fff4ef;padding:12px;color:#533747}.user-settings-body :is(select,input:not([type=checkbox])){border:1px solid #b98199;border-radius:8px;background:#fffefd;color:#472d3c;padding:8px 10px}.user-settings-body input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:#a9366b}.user-settings-body small{opacity:1;color:#795666}.user-settings-dialog :is(button,select,input,a):focus-visible{outline:3px solid #a9366b;outline-offset:3px}html[data-site-mode=dark] .user-settings-dialog{border-color:#8b6a7d;background:#25212d;color:#f7e7ef}html[data-site-mode=dark] .user-settings-tabs .btn{border-color:#8b6a7d;background:#3a2d3c;color:#f7e7ef}html[data-site-mode=dark] .user-settings-tabs [aria-pressed=true]{border-color:#f1a6c8;background:#f0accd;color:#39202e;box-shadow:inset 0 -2px 0 #bd6f95}html[data-site-mode=dark] .user-settings-body>label,html[data-site-mode=dark] .user-settings-row{border-color:#846577;background:#302737;color:#f7e7ef}html[data-site-mode=dark] .user-settings-body :is(select,input:not([type=checkbox])){border-color:#a98499;background:#201c27;color:#fff0f7}html[data-site-mode=dark] .user-settings-body small{color:#d6bbcc}html[data-site-mode=dark] .user-settings-dialog :is(button,select,input,a):focus-visible{outline-color:#f0accd}.user-settings-dialog .settings-close{position:absolute;top:10px;right:10px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #c798ad;border-radius:50%;background:#fff2e9;color:#653e52;cursor:pointer;z-index:1}.user-settings-dialog [data-slot=dialog-header]{padding-right:46px;flex-shrink:0}.user-settings-tabs{flex-shrink:0}.account-security-panel{display:grid;gap:14px;min-width:0}.account-security-panel section{padding:16px;border:1px solid #e0bfc9;border-radius:16px;background:#fff4ef;min-width:0}.account-security-panel h3{font-weight:700;margin:0 0 12px;font-size:1rem}.account-security-panel form{display:grid;gap:12px;margin-top:12px}.account-security-panel input:not([type=checkbox]){width:100%;min-width:0;min-height:44px;font:inherit}.account-security-panel .btn{min-height:44px;white-space:normal;border:1px solid #a9366b;background:#a9366b;color:#fff;border-radius:10px;padding:9px 12px}.account-security-panel :is(p,small,label){overflow-wrap:anywhere}.account-security-panel p{margin:6px 0}.account-security-panel small{display:block}.account-security-panel [role=alert]{border:1px solid #ba4164;background:#fff0f3;border-radius:12px;padding:12px}.account-security-panel [role=status]{border:1px solid #b8a575;border-radius:12px;padding:12px}.account-security-panel button:disabled{opacity:.6;cursor:wait}html[data-site-mode=dark] .account-security-panel section{background:#302737;border-color:#846577}html[data-site-mode=dark] .user-settings-dialog .settings-close{background:#3a2d3c;color:#f7e7ef;border-color:#8b6a7d}html[data-site-mode=dark] .account-security-panel .btn{background:#f0accd;color:#39202e;border-color:#f1a6c8}html[data-site-mode=dark] .account-security-panel [role=alert]{background:#452b3b;border-color:#dc789c}@media(max-width:480px){.user-settings-dialog{max-height:94dvh;gap:12px;border-radius:20px}.account-security-panel section{padding:12px}.user-settings-tabs .btn{min-height:44px}.account-security-panel input{font-size:16px!important}}