.rhythm-hub-editor>label{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-block:16px;min-width:0;line-height:1.6}.rhythm-hub-editor>label>:is(input,select){box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit}.rhythm-hub-editor>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-block:16px}.rhythm-hub-editor>button{margin:8px 8px 8px 0;min-height:40px;padding:8px 14px}.game-modal.game-modal-rhythm{width:min(960px,calc(100vw - 16px));max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:22px}.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;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.rhythm-hub .rhythm-stage>header{padding:8px 12px;gap:8px}.rhythm-hub .rhythm-stage>header p{font-size:.7rem}.rhythm-back,.rhythm-stage .rhythm-close{min-width:44px;min-height:44px;flex-shrink:0}.rhythm-service-status{font-size:.75rem;line-height:1.25;max-width:100%;padding:4px 8px;background:#fff0d1;border-radius:9px;display:flex;align-items:center;gap:6px}.rhythm-service-status p{margin:0}.rhythm-service-status button{min-height:36px;flex-shrink:0}.rhythm-service-tools{display:flex;gap:6px;flex-wrap:wrap;font-size:.75rem}.rhythm-service-tools button{min-height:36px}.rhythm-service-tools:empty{display:none}.rhythm-hub .rhythm-stage-body{display:flex;flex-direction:column;gap:8px;padding:8px 12px;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.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{display:flex;align-items:center;gap:8px;font-size:.78rem}.rhythm-hub .rhythm-stage-body>aside input{min-height:40px;margin:0}.rhythm-hub .rhythm-preparation{min-height:0;gap:8px;margin:5px 0}.rhythm-hub .rhythm-preparation .rhythm-avatar{width:48px;flex-basis:48px}.rhythm-hub .rhythm-preparation .rhythm-avatar-render{width:48px;height:72px}.rhythm-hub .rhythm-preparation .rhythm-song-cover{width:44px;height:44px;float:left;margin-right:8px;flex-basis:44px}.rhythm-hub .rhythm-preparation h3{font-size:.92rem;margin:3px 0}.rhythm-hub .rhythm-preparation p{font-size:.76rem;line-height:1.35;margin:3px 0}.rhythm-hub .rhythm-options{gap:8px;margin:4px 0}.rhythm-hub .rhythm-options label{font-size:.75rem;flex:1;min-width:0}.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{font-size:.75rem;margin:3px 0}.rhythm-hub .rhythm-actions{margin:5px 0;display:flex;gap:8px;flex-wrap:nowrap}.rhythm-hub .rhythm-actions button{min-height:44px;flex:1;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{display:flex;justify-content:space-between;align-items:center;height:36px;gap:8px}.rhythm-song-strip-heading button{width:44px;height:36px;min-height:36px;padding:0;font-size:1.3rem}.rhythm-song-strip{display:grid;grid-auto-flow:column;grid-auto-columns:112px;gap:8px;justify-content:start;height:120px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x;padding:3px 0 7px}.rhythm-song-strip>div{min-width:0;scroll-snap-align:start}.rhythm-song-strip button{height:108px;width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px;border-radius:14px}.rhythm-song-strip button[aria-pressed=true]{border:2px solid var(--rhythm-line)}.rhythm-song-strip button:focus-visible{outline:3px solid #8a5f1c;outline-offset:-3px}.rhythm-song-strip .rhythm-song-cover{width:56px;height:56px;flex-basis:56px;border-radius:10px}.rhythm-song-strip strong{font-size:.74rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;height:28px}.rhythm-song-strip small{font-size:.65rem;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rhythm-song-strip-shell>p{position:absolute;top:48px;left:0;right:0;text-align:center}.rhythm-hub .rhythm-stage.is-playing .rhythm-stage-body{overflow:hidden;display:block;padding:6px 10px;scrollbar-gutter:auto}.rhythm-hub .rhythm-stage.is-playing .rhythm-stage-body>main{height:100%;min-height:0;display:flex;flex-direction:column;gap:4px}.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{min-height:0;height:64px;flex:none;margin:0;gap:8px}.rhythm-hub .rhythm-stage.is-playing .rhythm-avatar.compact{width:40px;flex-basis: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{font-size:.8rem;margin:0 0 3px}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud{padding:4px}.rhythm-hub .rhythm-stage.is-playing .rhythm-lanes{flex:1;min-height:80px;height:auto!important;touch-action:none}.rhythm-hub .rhythm-stage.is-playing .rhythm-song-progress{flex:none;margin:0;height:5px}.rhythm-hub .rhythm-stage.is-playing .rhythm-lane b{min-height:24px;bottom:2%;font-size:1rem}.rhythm-hub .rhythm-stage.is-playing>header .rhythm-eyebrow{display:none}.rhythm-hub-editor{height:100%;overflow:auto;padding:12px;background:#fff9ed}.rhythm-hub-editor header{display:flex;align-items:center;justify-content:space-between}.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{flex:none;padding:4px 8px calc(4px + env(safe-area-inset-bottom,0px));background:#fff5df;border-top:1px solid #e6cf9c}.rhythm-hub .rhythm-stage-footer .rhythm-actions{margin:0}.rhythm-song-strip button{background:transparent;border-color:transparent;box-shadow:none}.rhythm-song-strip button .rhythm-song-cover{width:84px;height:84px;flex-basis:84px;border-radius:50%;border:17px solid var(--rhythm-line);box-shadow:0 0 0 2px #171717,0 4px 8px #17171720;background:repeating-radial-gradient(#292525 0 2px,#3b3432 3px 4px)}.rhythm-song-strip button[aria-pressed=true]{border-color:transparent;box-shadow:none;background:transparent}.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{height:17px;-webkit-line-clamp:1}.rhythm-song-strip small{display:none}.rhythm-difficulty-pills{display:flex;gap:6px;margin:4px 0}.rhythm-difficulty-pills button{min-height:44px;flex:1;font-size:.8rem}.rhythm-difficulty-pills button[aria-pressed=true]{background:#f8dc91;border-color:#b88529}.rhythm-difficulty-pills small{display:block;font-size:.65rem}.rhythm-song-strip{grid-auto-columns:148px;padding:5px max(0px,calc(50% - 74px)) 8px;height:160px}.rhythm-song-strip button{height:146px}.rhythm-song-strip button .rhythm-song-cover{width:116px;height:116px;flex-basis:116px;border-width:22px}.rhythm-song-strip-shell{height:196px;min-height:196px}@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;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.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{font-size:.84rem;line-height:1.1;min-height:1.1em}.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);gap:0;box-shadow:none}.game-modal.game-modal-rhythm,.game-modal.game-modal-rhythm>.game-modal-body{display:block;padding:0;border:0;background:transparent;overflow:hidden;scrollbar-gutter:auto;box-sizing:border-box}.game-modal.game-modal-rhythm>.game-modal-body{width:100%;height:100%;max-height:none;min-width:0;min-height:0;margin:0}.game-modal-rhythm>.game-modal-body>.rhythm-hub{width:100%;height:100%;margin:0;padding:0;overflow:hidden;scrollbar-gutter:auto}.rhythm-hub>.rhythm-stage{width:100%;max-width:none;height:100%;max-height:none;margin:0;box-sizing:border-box;border:1px solid #d6b46c;background:#fff9ef;border-radius:20px;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{padding:10px 14px;gap:10px}.rhythm-hub .rhythm-stage>header>div{min-width:0;flex:1}.rhythm-hub .rhythm-stage>header .rhythm-eyebrow{display:none}.rhythm-hub .rhythm-stage>header h2{font-size:1.15rem;line-height:1.35;margin:0}.rhythm-hub .rhythm-stage>header p{font-size:.75rem;line-height:1.4;margin:2px 0}.rhythm-hub .rhythm-stage .rhythm-service-status{padding:4px 8px;line-height:1.4;flex-wrap:wrap;overflow-wrap:anywhere}.rhythm-hub .rhythm-stage .rhythm-service-tools{gap:6px;margin-top:4px}.rhythm-hub .rhythm-stage .rhythm-service-tools:empty{display:none;margin:0}.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{display:flex;flex-direction:column;gap:12px;padding:12px 16px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable both-edges;box-sizing:border-box}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body>aside,.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body>main{flex:none;width:100%;max-width:680px;min-width:0;margin-inline:auto;box-sizing:border-box}.rhythm-hub .rhythm-stage .rhythm-stage-body>aside>label{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0 auto 4px;width:100%;max-width:520px;font-size:.8rem;white-space:nowrap}.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;height:auto;min-height:0;width:100%;position:relative}.rhythm-hub .rhythm-stage .rhythm-song-strip-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;height:auto;margin:0 0 2px}.rhythm-hub .rhythm-stage .rhythm-song-strip-heading>small{font-size:.72rem;line-height:1.4;color:#745b3d}.rhythm-hub .rhythm-stage .rhythm-song-strip-heading>span{display:inline-flex;gap:6px;flex-shrink:0}.rhythm-hub .rhythm-stage .rhythm-song-strip-heading button{width:40px;height:36px;min-height:36px;padding:0;border-radius:10px}.rhythm-hub .rhythm-stage .rhythm-song-strip{display:flex;flex-direction:row;gap:12px;justify-content:flex-start;align-items:stretch;width:100%;max-width:100%;height:auto;min-height:calc(var(--record-size) + 3em + 48px);margin:0;padding:10px 8px 8px;box-sizing:border-box;font-size:14px;line-height:1.5;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scrollbar-gutter:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x}.rhythm-hub .rhythm-stage .rhythm-song-strip::-webkit-scrollbar{display:none;width:0;height:0}.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]{display:grid;grid-template-rows:var(--record-size) minmax(3em,auto);justify-items:center;align-content:start;align-items:start;gap:10px;width:100%;height:auto;min-height:calc(var(--record-size) + 3em + 26px);margin:0;padding:8px 2px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#5c432d;font-size:14px;line-height:1.5;box-sizing:border-box;overflow:visible}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-cover{display:flex;width:var(--record-size);height:var(--record-size);min-width:var(--record-size);min-height:var(--record-size);flex:none;margin:0;border:24px solid #292425;border-radius:50%;box-sizing:border-box;background:repeating-radial-gradient(#292525 0 2px,#3b3432 3px 4px);box-shadow:0 0 0 1px #171717,0 4px 8px #17171720;transform:none}.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{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;width:100%;min-width:0;max-width:100%;height:auto;min-height:3em;max-height:none;margin:0;padding:0 2px;overflow:hidden;overflow-wrap:anywhere;white-space:normal;font-size:14px;line-height:1.5;text-align:center;box-sizing:border-box}.rhythm-hub .rhythm-stage .rhythm-song-strip button small{display:none}.rhythm-hub .rhythm-stage .rhythm-song-strip button:focus-visible{outline:3px solid #8a5f1c;outline-offset:-2px}.rhythm-hub .rhythm-stage .rhythm-song-strip-shell>p{position:static;margin:16px 0;text-align:center}.rhythm-hub .rhythm-stage .rhythm-preparation{gap:16px;min-height:0;margin:0 0 8px;align-items:center}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-avatar{flex:0 0 96px;width:96px;max-width:96px;min-width:0;margin:0}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-avatar-render{width:96px;height:144px}.rhythm-hub .rhythm-stage .rhythm-avatar figcaption{display:block;max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;font-size:12px;line-height:1.5;color:#745338}.rhythm-hub .rhythm-stage .rhythm-preparation>div{flex:1;min-width:0}.rhythm-hub .rhythm-stage .rhythm-preparation h3{display:block;min-width:0;max-width:100%;height:auto;max-height:none;margin:0 0 6px;white-space:normal;overflow:visible;overflow-wrap:anywhere;font-size:1rem;line-height:1.5;color:#75442f}.rhythm-hub .rhythm-stage .rhythm-preparation p{font-size:.82rem;line-height:1.5;margin:4px 0;color:#6e563e}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-song-cover{float:right;width:60px;height:60px;flex-basis:60px;margin:0 0 8px 12px;border-radius:12px}.rhythm-hub .rhythm-stage .rhythm-stage-footer{width:100%;margin:0;box-sizing:border-box}@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{padding:8px 6px;gap:8px}.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{width:80px;max-width:80px;flex-basis:80px}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-avatar-render{width:80px;height:120px}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-song-cover{width:44px;height:44px;flex-basis: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{transform:scale(.9);opacity:.82}.rhythm-hub .rhythm-stage .rhythm-song-strip button[aria-pressed=true] .rhythm-song-cover{transform:scale(1.08);opacity:1}.rhythm-hub .rhythm-stage .rhythm-song-strip button[aria-pressed=true] strong{color:#805018;font-weight:700}.rhythm-hub .rhythm-stage .rhythm-preparation{padding:12px 16px;border:1px solid #e5d0a5;border-radius:16px;background:#fffdf7ed;box-sizing:border-box}.rhythm-hub .rhythm-stage .rhythm-preparation .rhythm-song-cover{display:none}.rhythm-hub .rhythm-stage .rhythm-advanced-controls{margin:8px 0;border:1px solid #e8d6b2;border-radius:12px;background:#fffdf8;padding:0 10px}.rhythm-hub .rhythm-stage .rhythm-advanced-controls>summary{min-height:40px;line-height:40px;font-size:.8rem;cursor:pointer;color:#715434}.rhythm-hub .rhythm-stage .rhythm-advanced-controls .rhythm-options{padding:0 0 8px;margin:0}@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{padding:5px 10px;gap:8px;min-height:54px}.rhythm-hub .rhythm-stage:not(.is-playing)>header>div{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr);column-gap:10px;align-items:center}.rhythm-hub .rhythm-stage:not(.is-playing)>header>div>h2{grid-column:1;grid-row:1;font-size:1rem;line-height:1.2}.rhythm-hub .rhythm-stage:not(.is-playing)>header>div>p{grid-column:1;grid-row:2;font-size:.65rem;line-height:1.25;margin:0}.rhythm-hub .rhythm-stage:not(.is-playing)>header .rhythm-service-status{grid-column:2;grid-row:1/span 2;padding:3px 7px}.rhythm-hub .rhythm-stage:not(.is-playing)>header .rhythm-service-status p{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;line-height:1.3}.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-column:2;grid-row:1/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{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:14px;padding:6px 10px;scrollbar-gutter:stable both-edges}.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{height:30px;min-height:30px;width:36px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-song-strip{min-height:150px;padding:8px 2px 4px;gap:6px}.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]{min-height:132px;grid-template-rows:76px minmax(36px,auto);padding:6px 2px;gap:8px}.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{font-size:12px;line-height:1.5;min-height:36px}.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{width:72px;max-width:72px;flex-basis: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{font-size:16px;line-height:1.35;margin-bottom:3px}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-preparation p{font-size:11px;line-height:1.4;margin:2px 0}.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;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 0 #fff9eb}.rhythm-stage .rhythm-lanes>.rhythm-lane.held b{background:#fff8e6;color:#553b2d;text-shadow:none;border-radius:8px;margin-inline:8px}.rhythm-stage .rhythm-avatar-render{background:transparent;border:0;border-radius:0}.rhythm-stage .rhythm-avatar .game-avatar{background:transparent!important;opacity:1!important}.rhythm-stage .rhythm-countdown{display:grid;place-content:center;gap:8px;text-align:center;min-height:100px;padding:12px;color:#553b2d;background:#fff2dd;border-radius:12px}.rhythm-stage .rhythm-countdown strong{font-size:2.5rem;line-height:1}.rhythm-hub .rhythm-stage>header{position:sticky;top:0;z-index:3;gap:12px;padding-bottom:16px;margin-bottom:8px;align-items:center;background:#fff8ed}.rhythm-hub .rhythm-stage .rhythm-header-pause{flex:0 0 auto;min-width:64px;min-height:42px;margin-inline:10px 4px;padding:8px 14px}.rhythm-stage .rhythm-exit-confirm,.rhythm-stage .rhythm-pause-menu{display:flex;flex-wrap:wrap;gap:12px;padding:20px;margin-bottom:18px;border:1px solid #e7c797;border-radius:14px;background:#fff8ed;line-height:1.6}.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{margin-inline:4px;min-width:56px}.rhythm-stage :is(.rhythm-pause-menu,.rhythm-exit-confirm)>button{flex:1 1 130px}}.rhythm-stage .rhythm-song-progress{appearance:none;-webkit-appearance:none;border:0;border-radius:999px;overflow:hidden;background:var(--rhythm-soft);color:#c2185b;accent-color:var(--rhythm-control-pink)}.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{width:100%;min-width:0;min-height:60px;align-items:center}.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading>div{flex:1 1 0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1.2fr);align-items:center;gap:12px}.rhythm-hub .rhythm-stage.is-playing .rhythm-play-heading h3{margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.rhythm-hub .rhythm-stage.is-playing .rhythm-live-hud{width:100%;min-width:0;min-height:0;margin:0;padding:5px 8px;gap:8px;box-sizing:border-box}.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{display:block;width:100%;max-width:none;align-self:stretch;box-sizing:border-box}.rhythm-hub .rhythm-stage.is-playing>header{padding-bottom:10px;margin-bottom:0}@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{padding:4px;gap: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{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.4;margin-top:-6px}.rhythm-hub .rhythm-stage .rhythm-song-artist{font-size:.75rem;line-height:1.35;margin:2px 0 0;overflow-wrap:anywhere;color:#745b3d}.rhythm-hub .rhythm-stage.is-playing .rhythm-playing-song-meta{min-width:0}.rhythm-hub .rhythm-stage.is-playing .rhythm-playing-song-meta h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.rhythm-hub .rhythm-stage.is-playing .rhythm-playing-song-meta .rhythm-song-artist{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0 0}.rhythm-stage details.rhythm-sound-controls{display:block;min-width:0;margin:8px 0;padding:0;border:1px solid #e4c99b;border-radius:14px;background:linear-gradient(135deg,#fffaf4,#fff2f7);color:#684637}.rhythm-stage details.rhythm-sound-controls>summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-height:44px;margin:0;padding:10px 12px;box-sizing:border-box;list-style:none;cursor:pointer;font-size:.82rem;line-height:1.5;border-radius:13px}.rhythm-stage details.rhythm-sound-controls>summary::-webkit-details-marker{display:none}.rhythm-stage details.rhythm-sound-controls>summary:before{content:"›";flex:none;color:#9d335e;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{margin-left:auto;color:#755943;font-size:.75rem;overflow-wrap:anywhere}.rhythm-stage .rhythm-audio-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;padding:0 12px 12px;min-width:0}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 8px;min-width:0}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row>label{display:block;min-width:0;margin:0;font-size:.8rem;line-height:1.5;overflow-wrap:anywhere}.rhythm-stage .rhythm-audio-settings output{color:#922e59;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.rhythm-stage .rhythm-audio-settings input[type=range]{appearance:none;-webkit-appearance:none;grid-column:1/-1;display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:32px;min-height:32px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;accent-color:var(--rhythm-control-pink);cursor:pointer}.rhythm-stage .rhythm-audio-settings input[type=range]::-webkit-slider-runnable-track{height:7px;border:1px solid #d7b781;border-radius:999px;background:linear-gradient(to right,var(--rhythm-control-pink) 0 var(--rhythm-volume-fill),var(--rhythm-soft) var(--rhythm-volume-fill) 100%)}.rhythm-stage .rhythm-audio-settings input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:-6.5px;border:2px solid #fff9ef;border-radius:50%;background:var(--rhythm-control-pink);box-shadow:0 0 0 1px #9d335e}.rhythm-stage .rhythm-audio-settings input[type=range]::-moz-range-track{height:5px;border:1px solid #d7b781;border-radius:999px;background:var(--rhythm-soft)}.rhythm-stage .rhythm-audio-settings input[type=range]::-moz-range-progress{height:5px;border-radius:999px;background:var(--rhythm-control-pink)}.rhythm-stage .rhythm-audio-settings input[type=range]::-moz-range-thumb{width:14px;height:14px;border:2px solid #fff9ef;border-radius:50%;background:var(--rhythm-control-pink);box-shadow:0 0 0 1px #9d335e}.rhythm-stage .rhythm-audio-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;min-width:0}.rhythm-stage{--rhythm-control-pink:#f782b1}.rhythm-stage label.rhythm-compact-switch{display:flex;flex:none;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px;min-width:44px;min-height:44px;width:fit-content;max-width:100%;margin:0;font-size:.8rem;line-height:1.4;cursor:pointer}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:block;flex:0 0 40px;box-sizing:border-box;width:40px;max-width:40px;min-width:40px;height:24px;max-height:24px;min-height:24px;margin:0;padding:0;border:1px solid var(--rhythm-line);border-radius:999px;background:var(--rhythm-soft);box-shadow:none;cursor:pointer}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]:before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #171717;transform:translateX(0);transition:transform .15s ease}.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:translateX(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{font-size:.75rem;line-height:1.5;margin:0 0 8px}@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{background:ButtonText;box-shadow:none}.rhythm-stage label.rhythm-compact-switch>input[type=checkbox]:checked:before{background:HighlightText}}.rhythm-stage .rhythm-sfx-state{min-width:2em;color:#755943;font-size:.75rem}.rhythm-stage .rhythm-audio-settings .rhythm-audio-test{min-width:112px;min-height:40px;padding:7px 14px;border:1px solid #d6af69;border-radius:10px;background:#fff1d0;color:#684637;font-size:.8rem;line-height:1.4;font-weight:600}.rhythm-stage .rhythm-audio-settings .rhythm-audio-test:disabled{opacity:.6;cursor:not-allowed}.rhythm-stage .rhythm-audio-settings .rhythm-audio-status{grid-column:1/-1;margin:0;color:#755943;font-size:.75rem;line-height:1.5;overflow-wrap:anywhere}.rhythm-stage .rhythm-audio-settings :is(input,button):focus-visible,.rhythm-stage details.rhythm-sound-controls>summary:focus-visible{outline:3px solid #9d335e;outline-offset:3px;box-shadow:0 0 0 2px #ffe7b0}.rhythm-exit-overlay{position:fixed;inset:0;z-index:1100;background:#3e273270;backdrop-filter:blur(3px)}.rhythm-exit-dialog{position:fixed;top:50%;left:50%;z-index:1101;transform:translate(-50%,-50%);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));overflow:auto;overscroll-behavior:contain;margin:0;padding:24px;border:1px solid #d7b478;border-radius:20px;background:linear-gradient(150deg,#fffaf0,#fff0f6);color:#684637;box-shadow:0 20px 80px #39253250;font:inherit;text-align:center;outline:none}.rhythm-exit-dialog .rhythm-exit-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;border:1px solid #e8c898;border-radius:50%;background:#fff2d7;color:#a52f62;font-size:1.6rem}.rhythm-exit-dialog>h2{margin:0 0 8px;color:#7f3152;font-size:1.25rem;line-height:1.4;font-weight:700;overflow-wrap:anywhere}.rhythm-exit-dialog>p{margin:0;color:#755943;font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}.rhythm-exit-dialog .rhythm-exit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.rhythm-exit-dialog .rhythm-exit-actions>button{min-width:0;min-height:44px;margin:0;padding:10px 12px;border:1px solid #cc9eaf;border-radius:12px;font:inherit;font-size:.9rem;line-height:1.5;font-weight:600;cursor:pointer;overflow-wrap:anywhere}.rhythm-exit-dialog .rhythm-exit-resume{background:#ad396b;color:#fff;border-color:#922957}.rhythm-exit-dialog .rhythm-exit-leave{background:#fffaf1;color:#7d4e34;border-color:#d7b478}.rhythm-exit-dialog .rhythm-exit-actions>button:focus-visible{outline:3px solid #9d335e;outline-offset:3px;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{position:fixed;inset:0;z-index:1098;background:#3e273245;backdrop-filter:blur(1px)}.rhythm-pause-dialog{position:fixed;top:50%;left:50%;z-index:1099;transform:translate(-50%,-50%);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));overflow:auto;overscroll-behavior:contain;margin:0;padding:24px;border:1px solid #d7b478;border-radius:20px;background:linear-gradient(150deg,#fffaf0,#fff0f6);color:#684637;box-shadow:0 20px 80px #39253240;font:inherit;text-align:center;outline:none}.rhythm-pause-dialog .rhythm-pause-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;border:1px solid #e8c898;border-radius:50%;background:#fff2d7;color:#a52f62;font-size:1.6rem;font-weight:700}.rhythm-pause-dialog>h2{margin:0 0 8px;color:#7f3152;font-size:1.25rem;line-height:1.4;font-weight:700;overflow-wrap:anywhere}.rhythm-pause-dialog>p{margin:0;color:#755943;font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}.rhythm-pause-dialog .rhythm-pause-code{margin-top:10px;font-size:.72rem;color:#755943}.rhythm-pause-dialog .rhythm-pause-code>span{display:inline-block;padding:2px 6px;border:1px solid #e6d0ac;border-radius:6px;background:#fff9ec;font-variant-numeric:tabular-nums}.rhythm-pause-dialog .rhythm-pause-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.rhythm-pause-dialog .rhythm-pause-actions>button{min-width:0;min-height:44px;margin:0;padding:10px 12px;border:1px solid #cc9eaf;border-radius:12px;font:inherit;font-size:.9rem;line-height:1.5;font-weight:600;cursor:pointer;overflow-wrap:anywhere}.rhythm-pause-dialog .rhythm-pause-resume{background:#ad396b;color:#fff;border-color:#922957}.rhythm-pause-dialog .rhythm-pause-exit{background:#fffaf1;color:#7d4e34;border-color:#d7b478}.rhythm-pause-dialog .rhythm-pause-actions>button:focus-visible{outline:3px solid #9d335e;outline-offset:3px;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{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid #d9b967;border-radius:999px;background:#fff7df;color:#684c28;font-size:.64rem;line-height:1.4;white-space:nowrap;max-width:100%;box-sizing:border-box}.rhythm-tempo-badge.is-unknown{background:#f4eee6;color:#735f4b;border-color:#d7c8b6}.rhythm-autogenerate{margin:16px 0;padding:14px;border:1px solid #d9b967;border-radius:12px}.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{max-width:100%;box-sizing:border-box}.rhythm-hub .rhythm-stage>header>button.rhythm-header-action,.rhythm-stage>header>button.rhythm-header-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;box-sizing:border-box;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px;margin:0;padding:4px;border:0;border-radius:14px;background:transparent;color:#303030;box-shadow:none;line-height:1}.rhythm-stage>header>button.rhythm-header-action>svg{display:block;box-sizing:border-box;flex:none;width:36px;height:36px;padding:8px;border:1px solid var(--rhythm-line);border-radius:12px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none;pointer-events:none}.rhythm-stage>header>button.rhythm-header-pause>svg{stroke-width:3}.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{background:ButtonFace;border-color:ButtonText;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;padding:clamp(12px,2vw,22px);margin:18px 0;min-width:0}.rhythm-hub-editor.rhythm-admin :is(h3,legend){font-weight:750;font-size:1.1rem;color:var(--admin-ink)}.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;margin:6px 8px 6px 0;font-weight:650;white-space:normal}.rhythm-hub-editor.rhythm-admin button.rhythm-admin-primary{background:#f782b1;color:#fff;border:2px solid #f782b1;font-weight:800;box-shadow:0 4px 0 var(--rhythm-raised-shadow);text-shadow:0 1px 1px #94315a80}.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:3px solid #f782b1;outline-offset:3px}.rhythm-hub-editor.rhythm-admin label{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:12px 0;min-width:0;font-weight:550}.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;width:24px;height:24px;min-height:24px;padding:0;margin:0;flex:0 0 24px}.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{min-width:0;border:1px solid var(--admin-line);border-radius:12px;padding:16px;margin:14px 0}.rhythm-hub-editor.rhythm-admin .rhythm-metadata-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.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{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:16px 0}.rhythm-hub-editor.rhythm-admin .rhythm-cover-editor label{flex:1 1 280px}.rhythm-hub-editor.rhythm-admin .rhythm-cover-editor p{flex-basis:100%}.rhythm-hub-editor.rhythm-admin summary{cursor:pointer;font-weight:650;padding:12px 0;color:var(--admin-ink)}.rhythm-hub-editor.rhythm-admin details{margin:12px 0;border-top:1px solid var(--admin-line)}.rhythm-admin-steps{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.rhythm-admin-steps span{flex:1 1 180px;padding:12px;background:var(--admin-paper);border:1px solid var(--admin-line);border-top:4px solid #f782b1;border-radius:10px;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;padding:12px;border-radius:10px}@media(max-width:620px){.rhythm-hub-editor.rhythm-admin button{width:100%;margin:6px 0}.rhythm-hub-editor.rhythm-admin .rhythm-editor-fields{display:grid;grid-template-columns:1fr 1fr}.rhythm-hub-editor.rhythm-admin .rhythm-editor-fields input{width:100%}}.rhythm-hub-editor.rhythm-admin .rhythm-editor-pads button{background:#f782b1;color:#fff;border-color:#f782b1;box-shadow:0 3px 0 var(--rhythm-raised-shadow)}.rhythm-hub-editor.rhythm-admin .rhythm-song-picker{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.rhythm-hub-editor.rhythm-admin .rhythm-song-picker label{flex:1 1 240px;margin:0}.rhythm-hub-editor.rhythm-admin .rhythm-song-picker button{flex:0 0 auto;margin:0;min-height:44px}.rhythm-hub-editor.rhythm-admin .rhythm-song-identity{display:flex;flex-direction:column;gap:2px;margin-top:10px;overflow-wrap:anywhere;font-size:.9rem}.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{list-style:none;padding:0;margin:0}.rhythm-hub-editor.rhythm-admin .rhythm-song-trash-list li{padding:12px 0;border-top:1px solid var(--admin-line)}@media(max-width:620px){.rhythm-hub-editor.rhythm-admin .rhythm-song-picker button{width:auto;flex:1 0 auto}}.rhythm-rankings-overlay{position:fixed;inset:0;z-index:1250;background:rgb(24 18 25/60%)}.rhythm-rankings-modal{position:fixed;z-index:1251;top:50%;left:50%;transform:translate(-50%,-50%);width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;border:2px solid var(--border,#efd6e1);border-radius:20px;background:var(--background,#fffdfd);color:var(--foreground,#303030);box-shadow:0 20px 60px rgb(0 0 0/25%);font-family:inherit;isolation:isolate}.rhythm-rankings-modal-heading{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;background:var(--card,#fff);border-bottom:2px solid #f782b1}.rhythm-rankings-modal-heading>div{min-width:0}.rhythm-rankings-modal-heading h2{font-size:clamp(19px,4vw,25px);line-height:1.45;margin:0;color:var(--card-foreground,#303030)}.rhythm-rankings-modal-heading p{font-size:13px;line-height:1.5;margin:4px 0 0;color:var(--muted-foreground,#595959)}.rhythm-rankings-modal-heading button.btn{flex:0 0 auto;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{padding:24px;color:var(--foreground,#303030)}.rhythm-rankings-trigger{min-height:44px;display:inline-flex;align-items:center;gap:6px}@media(max-width:480px){.rhythm-rankings-modal{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:14px}.rhythm-rankings-modal-heading{padding:12px;gap:8px}.rhythm-rankings-modal-heading p{font-size:12px}}.rhythm-stage{background:#fff9f5;color:#60432e;border:1px solid #e5c99a;border-radius:20px;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;width:min(100%,960px);font:inherit}.rhythm-stage header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #ead5c3}.rhythm-stage h2,.rhythm-stage h3,.rhythm-stage p{margin:8px 0}.rhythm-stage button,.rhythm-stage input,.rhythm-stage select{font:inherit;border:1px solid #dac0cc;border-radius:10px;padding:10px;background:#fff;color:inherit;min-height:44px}.rhythm-stage button:focus-visible,.rhythm-stage input:focus-visible,.rhythm-stage select:focus-visible{outline:3px solid #95623f;outline-offset:2px}.rhythm-stage button:disabled{opacity:.55}.rhythm-stage-body{overflow:auto;display:grid;grid-template-columns:220px 1fr;gap:16px;padding:16px;min-height:0}.rhythm-stage main{min-width:0}.rhythm-stage label{display:flex;flex-direction:column;gap:4px;margin:8px 0}.rhythm-song-list{display:flex;flex-direction:column;gap:8px}.rhythm-song-list button{display:flex;flex-direction:column;text-align:left;overflow-wrap:anywhere}.rhythm-song-list [aria-pressed=true]{background:#fce4ed;border-color:#c383a1}.rhythm-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.rhythm-lanes{height:340px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;background:#704d39;padding:5px;border-radius:14px;overflow:hidden}.rhythm-stage .rhythm-lane{touch-action:none;user-select:none;position:relative;overflow:hidden;border-radius:8px;background:#94694e;opacity:1;color:#fff;border:0}.rhythm-stage .rhythm-lane.held{background:#94694e;box-shadow:inset 0 0 0 2px #fff9eb}.rhythm-lane:after{content:"";position:absolute;bottom:12%;left:0;right:0;border-bottom:3px solid #f2d28c}.rhythm-lane b{position:absolute;bottom:2%;left:0;right:0}.rhythm-note{position:absolute;left:12%;right:12%;height:12px;background:#f8aacb;border:2px solid #ffe5ed;border-radius:6px;pointer-events:none}.rhythm-note.hold{background:linear-gradient(#fce1ae,#dc87b5);min-height:12px}.rhythm-result{border:1px solid #e5c99a;border-radius:12px;background:#fff2f6;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{width:96px;height:96px;border-radius:14px;background-size:cover;background-position:50%;border:1px solid #e5c99a}.rhythm-stage.is-playing main>.rhythm-song-cover{display:none}.rhythm-song-cover{display:inline-flex;width:96px;height:96px;flex:0 0 96px;overflow:hidden;border-radius:14px;border:1px solid #e5c99a;background:#fff1d8;vertical-align:middle}.rhythm-song-cover.small{width:48px;height:48px;flex-basis:48px;border-radius:9px}.rhythm-song-cover img{width:100%!important;height:100%!important;object-fit:contain;max-width:100%}.rhythm-cover-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:2rem;color:#916342;background:linear-gradient(135deg,#fff1d8,#fce4ed)}.rhythm-song-list button .rhythm-song-entry{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.rhythm-song-entry>span:last-child{min-width:0;overflow-wrap:anywhere}.rhythm-song-entry small,.rhythm-song-entry strong{display:block}.rhythm-cover-editor{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}.rhythm-live-hud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:68px;margin:10px 0;padding:8px;border:1px solid #e5c99a;border-radius:12px;background:#fff2f6;text-align:center;font-variant-numeric:tabular-nums}.rhythm-live-hud small,.rhythm-live-hud strong{display:block}.rhythm-live-hud strong{font-size:1.1rem;min-height:1.5em;overflow-wrap:anywhere}.rhythm-judgement.perfect{color:#75520c}.rhythm-judgement.good{color:#366b4b}.rhythm-judgement.bad{color:#80521d}.rhythm-judgement.miss{color:#9a3458}.rhythm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.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{width:96px;margin:8px 0;flex:0 0 96px;text-align:center}.rhythm-avatar-render{width:96px;height:144px;overflow:visible;background:transparent;border-radius:0;border:0}.rhythm-avatar figcaption{font-size:.8rem;overflow-wrap:anywhere}.rhythm-avatar .game-avatar,.rhythm-avatar .game-avatar *{animation:none!important;transition:none!important}.rhythm-avatar.compact{width:48px;flex-basis:48px;margin:0}.rhythm-avatar.compact .rhythm-avatar-render{width:48px;height:72px;border-radius:8px}.rhythm-play-heading{display:flex;align-items:center;gap:8px}.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{background:transparent!important;opacity:1}.rhythm-stage{position:relative;isolation:isolate}.rhythm-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#fff9f3e8,#fff0e6ed),url(/game/world/town-rhythm-city-v1.png) 50%/cover;pointer-events:none}.rhythm-stage .rhythm-note{height:28px;border-radius:16px;background:#f8b8b2;border-color:#fff2dd;box-shadow:0 2px 0 #b97753}.rhythm-note-face{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:30px;height:30px}.rhythm-stage .rhythm-note.hold{left:37%;right:37%;border:2px solid #f2d28c;background:linear-gradient(#ffe1a4,#efac99);border-radius:9px}.rhythm-hit-pulse{position:absolute;left:4%;right:4%;bottom:8%;z-index:3;text-align:center;font-size:12px;font-weight:700;border:2px solid;border-radius:18px;padding:5px 2px;pointer-events:none;background:#fff9ed;animation:rhythm-hit-pop .32s ease-out both}.rhythm-hit-pulse>span{display:block;font-size:22px}.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{display:flex;flex-wrap:wrap;gap:8px;border:1px solid #e5c99a;border-radius:12px;padding:8px}.rhythm-sound-controls label{flex:1;min-width:100px;margin:0;font-size:.85rem}.rhythm-sound-controls input[type=range]{width:100%;padding:0;min-height:28px}@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:transparent;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));border-radius:12px;background:var(--paper,var(--rhythm-panel));color:var(--ink,var(--rhythm-ink));box-shadow:0 2px 0 var(--rhythm-line);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;font-weight:800;box-shadow:0 4px 0 var(--rhythm-raised-shadow),0 8px 18px #b3568524;text-shadow:0 1px 1px #94315a80}.rhythm-exit-dialog .rhythm-exit-resume:active,.rhythm-hub .rhythm-stage .rhythm-actions .rhythm-start:active,.rhythm-pause-dialog .rhythm-pause-resume:active{transform:translateY(2px);box-shadow:0 2px 0 var(--rhythm-raised-shadow)}.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));border-color:#877259;color:#fff}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{background:#6b5942;color:#fff;text-shadow:none}html[data-site-mode=dark] .rhythm-stage .rhythm-lane>.rhythm-note.tap{background:var(--note-color);border-color:#fff2dd;box-shadow:0 2px 0 #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 0 #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);border-radius:12px;box-shadow:0 2px 0 var(--rhythm-line)}.rhythm-hub .rhythm-stage:not(.is-playing)>header{padding:10px 14px;margin-bottom:0;gap:8px}.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){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;min-width:44px;padding:6px 10px;border:1px solid var(--rhythm-line);border-radius:10px;background:var(--rhythm-soft);color:var(--rhythm-ink);font-size:.75rem;line-height:1.35;text-decoration:none}.rhythm-hub .rhythm-stage:not(.is-playing) .rhythm-stage-body>aside>label input{min-height:44px;background:var(--rhythm-soft);border-color:var(--rhythm-line)}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip-heading{min-height:24px;margin:0;font-size:.75rem}.rhythm-stage .rhythm-song-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:start;gap:4px;min-width:0}.rhythm-stage .rhythm-song-carousel>.rhythm-song-nav{display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin-top:calc(var(--record-size,128px)/2 - 6px);padding:0;border:1px solid var(--rhythm-line);border-radius:50%;background:var(--rhythm-soft);color:var(--rhythm-ink);font-size:1.6rem;line-height:1}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip{min-width:0;min-height:0;height:auto;padding:12px 8px 8px;gap:8px;scrollbar-width:thin;scrollbar-color:var(--rhythm-control-pink) var(--rhythm-soft)}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip::-webkit-scrollbar{display:block;height:8px}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip::-webkit-scrollbar-track{border-radius:999px;background:var(--rhythm-soft)}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip::-webkit-scrollbar-thumb{border:1px solid var(--rhythm-line);border-radius:999px;background:var(--rhythm-control-pink)}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-strip button{grid-template-rows:var(--record-size,128px) auto;gap:10px;min-height:0;padding:6px 2px 8px;border-radius:12px}.rhythm-stage .rhythm-song-strip-shell .rhythm-song-card-meta{display:grid;justify-items:center;align-content:start;gap:3px;width:100%;min-width:0}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-card-meta>.rhythm-song-card-title{height:auto;min-height:0;max-height:none;margin:0;line-height:1.35;overflow-wrap:anywhere}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-card-details{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:6px;row-gap:2px;width:100%;min-width:0}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-card-details>small{display:block;flex:0 1 auto;width:auto;min-width:0;max-width:100%;min-height:0;margin:0;font-size:.72rem;line-height:1.35;color:var(--rhythm-muted);white-space:normal;overflow-wrap:anywhere}.rhythm-hub .rhythm-stage .rhythm-song-strip button .rhythm-song-card-details>.rhythm-tempo-badge{flex:0 0 auto;max-width:100%;margin:0}.rhythm-stage:not(.is-playing) .rhythm-selection-layout{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);align-items:start;gap:20px;min-width:0;margin:0 0 8px;padding:14px;border:1px solid var(--rhythm-line);border-radius:18px;background:var(--rhythm-panel);box-sizing:border-box}.rhythm-stage:not(.is-playing) .rhythm-selection-layout .rhythm-preparation{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;text-align:center}.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{display:flex;flex-direction:column;align-items:center;gap:4px}.rhythm-stage:not(.is-playing) .rhythm-selection-settings{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);align-items:start;gap:12px;min-width:0}.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{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}.rhythm-stage:not(.is-playing) .rhythm-selection-settings .rhythm-difficulty-pills button{flex:none;min-height:46px;min-width:44px;width:100%;padding:9px 10px;border:1px solid var(--rhythm-line);border-radius:12px;background:var(--rhythm-soft);color:var(--rhythm-ink);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;font-weight:800;box-shadow:0 4px 0 var(--rhythm-raised-shadow);text-shadow:0 1px 1px #94315a80}.rhythm-stage:not(.is-playing) .rhythm-selection-settings .rhythm-difficulty-pills button:disabled{border-style:dashed;cursor:not-allowed}.rhythm-stage .rhythm-selection-label{font-size:.8rem;font-weight:600;line-height:1.5;margin-bottom:2px}.rhythm-stage:not(.is-playing) .rhythm-selection-options{display:grid;gap:8px;min-width:0}.rhythm-stage:not(.is-playing) .rhythm-selection-options :is(.rhythm-advanced-controls,.rhythm-sound-controls){min-width:0;margin:0;padding:0;border:1px solid var(--rhythm-line);border-radius:12px;background:var(--rhythm-soft)}.rhythm-stage:not(.is-playing) .rhythm-selection-options :is(.rhythm-advanced-controls,.rhythm-sound-controls)>summary{min-height:44px;margin:0;padding:10px;font-size:.78rem;line-height:1.5;box-sizing:border-box;cursor:pointer;overflow-wrap:anywhere}.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]{height:44px;min-height:44px;border-radius:12px}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row input[type=range]::-webkit-slider-runnable-track{height:8px;border-color:var(--rhythm-line)}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px;border:2px solid var(--rhythm-line);box-shadow:0 2px 4px #17171720}.rhythm-stage .rhythm-audio-settings .rhythm-volume-row input[type=range]::-moz-range-track{height:6px;border-color:var(--rhythm-line)}.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{width:18px;height:18px;border:2px solid var(--rhythm-line);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{min-height:48px;min-width:44px;padding:9px 12px;border-radius: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{background:#f782b1;color:#fff;border-color:#f782b1;font-weight:800;box-shadow:0 4px 0 var(--rhythm-raised-shadow),0 8px 18px #b3568524;text-shadow:0 1px 1px #94315a80}.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{flex-direction:row;gap:12px;text-align:left}.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{position:fixed;inset:0;background:rgb(0 0 0/65%);z-index:1200}.rhythm-receipt-dialog{position:fixed;z-index:1201;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,510px);max-height:90dvh;overflow:auto;background:var(--rhythm-panel);color:var(--rhythm-ink);border:2px solid var(--rhythm-line);border-radius:22px;padding:24px;box-shadow:0 24px 90px #17171777;font-family:inherit;text-align:center}.rhythm-receipt-dialog h2{font-size:28px;margin:0 0 8px}.rhythm-receipt-dialog [id]{scroll-margin-top:12px}.rhythm-receipt-song{font-weight:700;font-size:18px;overflow-wrap:anywhere}.rhythm-receipt-score{display:grid;gap:4px;background:var(--rhythm-panel);border-radius:16px;padding:16px}.rhythm-receipt-score strong{font-size:42px;color:var(--rhythm-ink)}.rhythm-receipt-stats{display:flex;justify-content:center;gap:30px}.rhythm-receipt-stats p{display:grid;gap:5px}.rhythm-receipt-stats b{font-size:24px}.rhythm-receipt-hits{font-size:13px}.rhythm-receipt-rewards,.rhythm-receipt-state{padding:12px;border-radius:12px;background:var(--rhythm-panel);line-height:1.6}.rhythm-receipt-rewards{margin:12px 0}.rhythm-receipt-rewards h3{font-size:16px;margin:0}.rhythm-receipt-rewards p{margin:6px 0}.rhythm-receipt-dialog a{color:var(--rhythm-ink);text-decoration:underline}.rhythm-receipt-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}.rhythm-receipt-actions button{padding:12px 15px;min-height:44px;border:1px solid var(--rhythm-line);border-radius:10px;background:var(--rhythm-panel);color:var(--rhythm-ink);cursor:pointer}.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;padding:16px;max-width:100%;min-width:0}.rhythm-editor button,.rhythm-editor input,.rhythm-editor select{font:inherit;min-height:44px;border:1px solid var(--rhythm-line);border-radius:10px;padding:7px;background:var(--rhythm-panel)}.rhythm-editor button{cursor:pointer}.rhythm-editor button:disabled{opacity:.5;cursor:default}.rhythm-editor-fields{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.rhythm-editor-fields label{display:flex;flex-direction:column;max-width:100%}.rhythm-editor-fields input{width:140px;max-width:100%}.rhythm-editor-fields input[type=checkbox]{width:24px}.rhythm-editor-pads{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.rhythm-editor-pads button{touch-action:none;background:var(--rhythm-soft)}.rhythm-editor-notes{max-height:320px;overflow:auto;margin:12px 0}.rhythm-editor table{width:100%;text-align:left;border-collapse:collapse}.rhythm-editor td,.rhythm-editor th{padding:5px;border-bottom:1px solid var(--rhythm-line)}.rhythm-editor fieldset{min-width:0;border:1px solid var(--rhythm-line);border-radius:12px}.rhythm-editor-pads button{min-height:58px;background:#f782b1;color:#f5f5f5;border:2px solid var(--rhythm-line);border-radius:16px;font-weight:700;box-shadow:none;user-select:none;-webkit-user-select:none}.rhythm-editor-pads button.held{outline:3px solid #fff;outline-offset:-6px;background:#f782b1}.rhythm-editor-pads small{display:block;font-weight:400;font-size:12px}.rhythm-editor-clock{padding:8px 10px;border:1px solid var(--rhythm-line);border-radius:12px;background:var(--rhythm-panel);font-variant-numeric:tabular-nums}.rhythm-editor .rhythm-record-snap{display:flex;align-items:center;gap:8px;line-height:1.5;min-height:44px}.rhythm-editor .rhythm-record-snap input{min-height:24px;width:24px;flex:none;padding:0}.rhythm-rankings{--rankings-pink:#f782b1;width:100%;max-width:900px;min-width:0;margin:0 auto;padding:20px 18px 40px;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}html[data-site-mode=dark] .rhythm-rankings{color-scheme:dark}.rhythm-rankings header,.rhythm-rankings section{min-width:0;padding:18px;margin:0 0 12px;border:1px solid var(--border,#efd6e1);border-radius:16px;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 rgb(0 0 0/4%))}.rhythm-rankings header{border-top:3px solid var(--rankings-pink)}.rhythm-rankings header>small{display:block;margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.06em}.rhythm-rankings h1,.rhythm-rankings h2{color:var(--card-foreground,#303030);line-height:1.5;overflow-wrap:anywhere}.rhythm-rankings h1{font-size:clamp(26px,4vw,34px);margin:4px 0 8px}.rhythm-rankings h2{font-size:20px;margin:0 0 8px}.rhythm-rankings p{margin:0;color:var(--card-foreground,#303030);line-height:1.65}.rhythm-rankings>p{padding:10px 12px;margin-bottom:12px;color:var(--foreground,#303030)}.rhythm-rankings footer,.rhythm-rankings small{color:var(--muted-foreground,#595959);line-height:1.65}.rhythm-rankings a{color:var(--foreground,#303030);text-decoration:underline;text-underline-offset:3px}.rhythm-rankings a:hover{color:var(--accent-foreground,#a72e62)}.rhythm-rankings header>a{display:inline-flex;align-items:center;min-height:44px}.rhythm-rankings section[role=alert]>a{display:inline-flex;margin:12px 0 0 12px}.rhythm-rankings label{display:block;color:var(--card-foreground,#303030);font-weight:600}.rhythm-rankings option,.rhythm-rankings select{color:var(--card-foreground,#303030);background:var(--card,#fff);font:inherit}.rhythm-rankings select{display:block;width:100%;max-width:100%;min-width:0;min-height:46px;margin-top:8px;padding:10px 12px;border:1px solid var(--muted-foreground,#595959);border-radius:10px;text-overflow:ellipsis}.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{display:flex;gap:14px;align-items:center;min-width:0;padding:12px 8px;border-bottom:1px solid var(--border,#efd6e1);color:var(--card-foreground,#303030)}.rhythm-rankings li:last-child{border-bottom:0}.rhythm-rankings li.is-own{padding:12px;border:1px solid var(--rankings-pink);border-radius:12px;background:var(--secondary,#fff5f9);color:var(--secondary-foreground,#303030)}.rhythm-rankings li.is-own small{color:inherit}.rhythm-rankings li div{display:grid;min-width:0;gap:3px}.rhythm-rankings .ranking-place{flex:0 0 auto;min-width:46px;padding:3px 8px;border-radius:9px;background:var(--rankings-pink);color:#303030;font-size:20px;text-align:center;font-variant-numeric:tabular-nums}.rhythm-rankings nav{display:flex;gap:10px;flex-wrap:wrap;padding-top:8px}.rhythm-rankings button.btn{min-height:44px;max-width:100%;padding:9px 14px;white-space:normal;font:inherit;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{padding:14px;border-radius:13px}.rhythm-rankings h2{font-size:18px}.rhythm-rankings li{padding:10px 0;gap:10px}.rhythm-rankings li.is-own{padding:10px}.rhythm-rankings nav{gap:8px}.rhythm-rankings nav button{flex:1 1 100px}.rhythm-rankings section[role=alert]>a{display:flex;margin-left:0}}.rhythm-rankings .ranking-arcade-title{display:block;color:var(--card-foreground,#303030);font-size:clamp(22px,5vw,32px);font-weight:900;letter-spacing:.14em;line-height:1.4}.rhythm-rankings .ranking-selectors{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}.rhythm-rankings .ranking-selectors label:last-child:nth-child(3){grid-column:1/-1}.rhythm-rankings .ranking-song-summary{display:flex;align-items:center;gap:12px}.rhythm-rankings .ranking-song-summary>div{min-width:0}.rhythm-rankings .ranking-song-summary img{flex:0 0 64px;width:64px;height:64px;object-fit:cover;border-radius:12px}.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:1 1 auto;min-width:0}.rhythm-rankings li .ranking-score{flex:0 0 auto;text-align:right;gap:0}.rhythm-rankings .ranking-score strong{font-size:clamp(21px,4vw,30px);font-weight:900;line-height:1.25;color:var(--card-foreground,#303030);font-variant-numeric:tabular-nums}.rhythm-rankings .ranking-score small{font-size:11px;letter-spacing:.06em}.rhythm-rankings li.podium-1 .ranking-place{background:#f5d47d;color:#463311}.rhythm-rankings li.podium-2 .ranking-place{background:#dce5ec;color:#304453}.rhythm-rankings li.podium-3 .ranking-place{background:#f1c4a6;color:#543523}.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{gap:8px;flex-wrap:wrap}.rhythm-rankings li .ranking-member{flex-basis:calc(100% - 65px)}.rhythm-rankings li .ranking-score{margin-left:auto}.rhythm-rankings .ranking-song-summary img{width:52px;height:52px;flex-basis:52px}}.rhythm-rankings summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;color:var(--card-foreground,#303030);font-weight:700}