#mrw-rhythm-adventure{position:fixed;inset:0;z-index:2147483300;padding:22px;box-sizing:border-box;display:grid;place-items:center;background:radial-gradient(circle at 50% 18%,rgba(122,83,190,.25),transparent 34%),rgba(4,5,16,.78);backdrop-filter:blur(8px);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f8f4ff}
#mrw-rhythm-adventure *{box-sizing:border-box}
.rh-shell{width:min(1180px,calc(100vw - 28px));height:min(850px,calc(100dvh - 28px));display:grid;grid-template-rows:auto auto 1fr;overflow:hidden;border:1px solid rgba(255,214,92,.32);border-radius:28px;background:linear-gradient(160deg,#181027 0%,#0a0913 58%,#07070d 100%);box-shadow:0 32px 100px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.05) inset}
.rh-header{position:relative;display:flex;align-items:center;gap:18px;padding:24px 72px 20px 28px;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 18% 0,rgba(255,213,74,.12),transparent 40%)}
.rh-header h2{margin:3px 0 5px;font-size:clamp(28px,4vw,48px);line-height:1;font-weight:1000;letter-spacing:-.04em}.rh-header p{margin:0;color:rgba(255,255,255,.66);font-weight:700}.rh-kicker{font-size:11px;letter-spacing:.18em;color:#f1c84d;font-weight:1000}.rh-currencies{margin-left:auto;display:flex;gap:10px}.rh-currencies span{padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.06);font-weight:900}.rh-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.07);color:#fff;font-size:26px;cursor:pointer}
.rh-tabs{display:flex;gap:8px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto;background:rgba(5,5,10,.58)}.rh-tabs button{flex:0 0 auto;border:1px solid transparent;border-radius:12px;padding:10px 14px;background:transparent;color:rgba(255,255,255,.68);font-weight:900;cursor:pointer}.rh-tabs button:hover{background:rgba(255,255,255,.06);color:#fff}.rh-tabs button.is-active{color:#241600;background:linear-gradient(135deg,#f1bb27,#ffe46c);border-color:#ffe891;box-shadow:0 8px 20px rgba(241,187,39,.22)}
.rh-content{overflow:auto;padding:24px;scrollbar-color:#9d72d1 rgba(255,255,255,.04)}
.rh-hero{min-height:290px;display:grid;grid-template-columns:1.35fr .65fr;gap:22px;align-items:center;padding:34px;border:1px solid rgba(255,214,92,.22);border-radius:24px;background:radial-gradient(circle at 78% 30%,rgba(117,70,177,.42),transparent 38%),linear-gradient(135deg,rgba(42,23,66,.96),rgba(14,11,24,.96));overflow:hidden}.rh-hero small,.rh-section-head small{color:#f1c84d;font-weight:1000;letter-spacing:.16em}.rh-hero h3{margin:8px 0 10px;max-width:14ch;font-size:clamp(32px,5.5vw,66px);line-height:.98;letter-spacing:-.055em}.rh-hero p{color:rgba(255,255,255,.72);font-weight:800}.rh-hero-art{position:relative;display:grid;place-items:center;min-height:220px;font-size:130px}.rh-hero-art b{filter:drop-shadow(0 18px 20px rgba(0,0,0,.42));animation:rh-float 3.8s ease-in-out infinite}.rh-hero-art span{position:absolute;font-size:28px;color:#ffe56c;animation:rh-note-float 3s ease-in-out infinite}.rh-hero-art span:nth-child(1){left:13%;top:20%}.rh-hero-art span:nth-child(2){right:9%;top:7%;animation-delay:.7s}.rh-hero-art span:nth-child(3){right:18%;bottom:12%;animation-delay:1.2s}
.rh-primary,.rh-secondary,.rh-shop-card button{border:0;border-radius:13px;padding:15px 22px;font-weight:1000;cursor:pointer}.rh-primary{margin-top:18px;min-width:260px;background:linear-gradient(135deg,#efb724,#ffe467);color:#241700;box-shadow:0 12px 28px rgba(239,183,36,.25)}.rh-primary:hover{transform:translateY(-2px);filter:brightness(1.05)}.rh-secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.13)}
.rh-hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.rh-hub-card{min-height:150px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;text-align:left;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));color:#fff;cursor:pointer;transition:.2s}.rh-hub-card:hover{transform:translateY(-3px);border-color:rgba(255,214,92,.38);background:rgba(255,255,255,.08)}.rh-icon-frame{width:66px;height:66px;display:grid;place-items:center;border:1px solid rgba(255,214,92,.48);border-radius:15px;background:rgba(241,187,39,.09);font-size:34px;transition:.25s}.rh-hub-card:hover .rh-icon-frame{transform:translateY(-4px) rotate(-3deg)}.rh-hub-card small{display:block;color:#e7bd46;font-weight:1000;font-size:10px;letter-spacing:.13em}.rh-hub-card strong{display:block;margin-top:5px;font-size:18px}.rh-hub-card em{display:block;margin-top:6px;color:rgba(255,255,255,.58);font-style:normal;font-size:12px;line-height:1.35}.rh-hub-card>b{font-size:24px;color:#efc34d}.rh-daily{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 18px;border:1px dashed rgba(255,214,92,.3);border-radius:16px;color:rgba(255,255,255,.72)}
.rh-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.rh-section-head h3{margin:5px 0 4px;font-size:32px}.rh-section-head p{margin:0;color:rgba(255,255,255,.6)}.rh-subtitle{margin:28px 0 12px}.rh-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rh-shop-card{position:relative;min-height:260px;display:flex;flex-direction:column;align-items:flex-start;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.045);overflow:hidden}.rh-shop-card.is-selected{border-color:#eec347;box-shadow:0 0 0 1px rgba(238,195,71,.18) inset}.rh-big-icon{width:76px;height:76px;display:grid;place-items:center;border:1px solid rgba(255,214,92,.35);border-radius:17px;background:rgba(255,214,92,.08);font-size:42px;transition:.25s}.rh-shop-card:hover .rh-big-icon{transform:translateY(-4px) rotate(-3deg)}.rh-shop-card small{margin-top:14px;text-transform:uppercase;letter-spacing:.12em;font-weight:1000}.rh-shop-card h4{margin:5px 0 8px;font-size:21px}.rh-shop-card p{margin:0 0 12px;color:rgba(255,255,255,.62);line-height:1.45}.rh-meta,.rh-price{margin-top:auto;padding-top:10px;color:#f1c84d;font-weight:900}.rh-shop-card button{width:100%;margin-top:12px;background:linear-gradient(135deg,#efb724,#ffe467);color:#241700}.rh-shop-card button:disabled{opacity:.4;cursor:not-allowed}.rh-song-list{display:grid;gap:10px}.rh-song{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:14px 16px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.04)}.rh-song>span{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:rgba(255,214,92,.08);font-size:28px}.rh-song h4{margin:2px 0}.rh-song p{margin:0;color:rgba(255,255,255,.55)}.rh-song.is-locked{filter:grayscale(1);opacity:.48}.rh-song>b{color:#f1c84d}.rh-studio-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.rh-studio-showcase>div{display:grid;place-items:center;padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.045)}.rh-studio-showcase span{font-size:40px}.rh-studio-showcase b{font-size:34px;color:#f1c84d}.rh-studio-showcase small{color:rgba(255,255,255,.55)}
.rh-ach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rh-ach{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.04);opacity:.58}.rh-ach.is-unlocked{opacity:1;border-color:rgba(255,214,92,.26)}.rh-ach>span{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.06);font-size:28px}.rh-ach small{text-transform:uppercase;font-weight:1000}.rh-ach h4{margin:3px 0}.rh-ach p{margin:0;color:rgba(255,255,255,.56);font-size:12px}.rh-ach>b{font-size:22px;color:#f1c84d}.rh-progress{height:7px;margin-top:9px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.rh-progress i{display:block;height:100%;background:linear-gradient(90deg,#efb724,#ffe467)}
.rh-performance{max-width:820px;margin:0 auto}.rh-performance>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.rh-performance h3{margin:4px 0;font-size:30px}.rh-performance p{margin:0;color:rgba(255,255,255,.6)}.rh-performance-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.rh-performance-hud span{padding:10px;border-radius:12px;background:rgba(255,255,255,.06);text-align:center;color:rgba(255,255,255,.64)}.rh-performance-hud b{display:block;color:#fff;font-size:20px}.rh-crowd{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-bottom:10px}.rh-crowd>span{font-size:26px}.rh-crowd i{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.rh-crowd i b{display:block;height:100%;width:0;background:linear-gradient(90deg,#a45bf4,#ffe467);transition:.2s}.rh-crowd em{font-style:normal;color:rgba(255,255,255,.55);font-size:12px}.rh-game{position:relative}.rh-callout{height:46px;display:grid;place-items:center;font-size:30px;font-weight:1000;opacity:0}.rh-callout.is-pop{animation:rh-callout .5s ease both}.rh-callout.is-good{color:#8fffd6}.rh-callout.is-bad{color:#ff8e9b}.rh-lanes{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;height:min(50vh,430px);padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(0,0,0,.28);overflow:hidden}.rh-lane{position:relative;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.035)}.rh-lane.is-hit{background:rgba(71,255,170,.17)}.rh-lane.is-miss{background:rgba(255,71,92,.17)}.rh-lane em{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);font-style:normal;font-weight:1000;color:rgba(255,255,255,.45)}.rh-hitline{position:absolute;left:10px;right:10px;bottom:18%;height:4px;border-radius:999px;background:#f1c84d;box-shadow:0 0 18px rgba(241,200,77,.75);pointer-events:none}.rh-note{position:absolute;left:50%;top:-8%;transform:translateX(-50%);font-size:30px;color:#b98cff;filter:drop-shadow(0 0 8px rgba(185,140,255,.7))}.rh-note.is-golden{color:#ffe467;font-size:34px}.rh-pads{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px}.rh-pads button{height:52px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;font-weight:1000;font-size:18px}.rh-pads button:active{background:#f1c84d;color:#241700}.rh-result{max-width:680px;margin:30px auto;text-align:center;padding:34px;border:1px solid rgba(255,214,92,.24);border-radius:24px;background:rgba(255,255,255,.045)}.rh-result>span{font-size:72px}.rh-result>small{display:block;color:#f1c84d;letter-spacing:.16em;font-weight:1000}.rh-result h3{font-size:34px}.rh-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.rh-result-grid>div{padding:15px;border-radius:14px;background:rgba(255,255,255,.055)}.rh-result-grid b{display:block;font-size:24px}.rh-result-grid small{color:rgba(255,255,255,.55)}.rh-result .rh-secondary{margin-left:8px}.rh-toast{position:absolute;left:50%;bottom:26px;transform:translate(-50%,16px);padding:12px 18px;border-radius:13px;background:#20172d;border:1px solid rgba(255,214,92,.4);opacity:0;pointer-events:none;transition:.2s}.rh-toast.is-show{opacity:1;transform:translate(-50%,0)}
@keyframes rh-float{50%{transform:translateY(-8px) rotate(-2deg)}}@keyframes rh-note-float{50%{transform:translateY(-8px) rotate(8deg)}}@keyframes rh-callout{0%{opacity:0;transform:scale(.8)}35%{opacity:1;transform:scale(1.08)}100%{opacity:0;transform:scale(1)}}
@media(max-width:900px){#mrw-rhythm-adventure{padding:8px}.rh-shell{height:calc(100dvh - 16px);width:calc(100vw - 16px);border-radius:20px}.rh-header{padding:18px 60px 15px 18px}.rh-header p{display:none}.rh-currencies{position:absolute;left:18px;bottom:-52px;z-index:3}.rh-tabs{padding-left:220px}.rh-content{padding:16px}.rh-hero{grid-template-columns:1fr;padding:24px}.rh-hero-art{display:none}.rh-hub-grid{grid-template-columns:repeat(2,1fr)}.rh-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rh-ach-grid{grid-template-columns:1fr}}
@media(max-width:600px){.rh-header h2{font-size:27px}.rh-currencies span{padding:7px 9px;font-size:12px}.rh-tabs{padding-left:12px;padding-top:58px}.rh-hero h3{font-size:42px}.rh-primary{width:100%;min-width:0}.rh-hub-grid,.rh-card-grid,.rh-studio-showcase{grid-template-columns:1fr}.rh-hub-card{min-height:120px}.rh-performance-hud{grid-template-columns:repeat(2,1fr)}.rh-lanes{height:46vh}.rh-result-grid{grid-template-columns:repeat(2,1fr)}.rh-result .rh-secondary{margin:8px 0 0;width:100%}.rh-daily{flex-direction:column}.rh-ach{grid-template-columns:auto 1fr}.rh-ach>b{display:none}}


/* Rhythm Hero 2.0.1 — performance layout, hold notes, audio-ready stage travel */
.rh-performance{max-width:1080px}
.rh-performance-layout{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:16px;align-items:center}
.rh-side-hud{display:grid;gap:14px;align-content:center}
.rh-side-hud span{display:grid;gap:5px;padding:18px 12px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));text-align:center;color:rgba(255,255,255,.58);font-weight:800}
.rh-side-hud b{font-size:28px;color:#fff;line-height:1}
.rh-center-game{min-width:0}
.rh-note{width:46px;height:46px;display:grid;place-items:center;border-radius:11px;border:2px solid rgba(255,255,255,.25);background:linear-gradient(145deg,#6f45c8,#3a236f);box-shadow:0 7px 16px rgba(0,0,0,.36),0 0 15px rgba(185,140,255,.34);font-size:0;z-index:3}
.rh-note b{font-size:26px;line-height:1;color:#fff;position:relative;z-index:2}
.rh-note.is-golden{background:linear-gradient(145deg,#ffe467,#b57614);border-color:#fff0a4}.rh-note.is-golden b{color:#321d00}
.rh-note.is-hold i{position:absolute;left:50%;bottom:34px;width:20px;height:calc(130px * var(--hold-progress,1));transform:translateX(-50%);transform-origin:50% 100%;border-radius:12px 12px 3px 3px;background:linear-gradient(180deg,rgba(196,153,255,.18),rgba(196,153,255,.88));border:1px solid rgba(255,255,255,.18);z-index:1;will-change:height}
.rh-note.is-hold.is-golden i{background:linear-gradient(180deg,rgba(255,228,103,.18),rgba(255,205,66,.9))}
.rh-note.is-active-hold{box-shadow:0 0 0 4px rgba(119,255,190,.18),0 0 24px rgba(119,255,190,.65)}
.rh-pads button{height:62px;font-size:19px;display:flex;align-items:center;justify-content:center;gap:8px}.rh-pad-icon{display:none;font-size:25px}
.rh-travel{position:relative;min-height:500px;overflow:hidden;border:1px solid rgba(255,214,92,.2);border-radius:26px;background:radial-gradient(circle at 50% 72%,rgba(241,200,77,.14),transparent 34%),linear-gradient(180deg,#21142e,#08070e)}
.rh-travel-stars{position:absolute;inset:0 0 45%;pointer-events:none}.rh-travel-stars i{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff3ad;box-shadow:0 0 13px #f1c84d;animation:rh-travel-star 1.7s ease-in-out infinite}.rh-travel-stars i:nth-child(1){left:18%;top:30%}.rh-travel-stars i:nth-child(2){left:52%;top:16%;animation-delay:-.6s}.rh-travel-stars i:nth-child(3){left:76%;top:38%;animation-delay:-1.1s}
.rh-travel-copy{position:absolute;left:7%;right:7%;top:7%;z-index:5;max-width:640px}.rh-travel-copy small{color:#f1c84d;letter-spacing:.17em;font-weight:1000}.rh-travel-copy h3{margin:5px 0;font-size:clamp(27px,5vw,42px)}.rh-travel-copy p{margin:0;color:rgba(255,255,255,.7)}.rh-travel-copy em{display:block;margin-top:9px;color:rgba(255,255,255,.46);font-style:normal}
.rh-travel-stage{position:absolute;right:6%;bottom:28%;display:grid;justify-items:center;z-index:3;animation:rh-stage-arrive 4.7s ease-out both}.rh-travel-stage span{font-size:82px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.42))}.rh-travel-stage b{padding:6px 11px;border-radius:999px;border:1px solid rgba(241,200,77,.32);background:rgba(7,6,12,.76);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.rh-travel-road{position:absolute;left:0;right:0;bottom:22%;height:160px;border-bottom:11px solid rgba(241,200,77,.17);background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.25));z-index:4}.rh-traveler{position:absolute;left:-28%;bottom:4px;width:175px;height:155px;display:grid;place-items:end center;animation:rh-mascot-journey 4.7s cubic-bezier(.22,.68,.3,1) forwards}.rh-travel-mascot{display:block;max-width:150px;max-height:145px;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(0,0,0,.46));transform-origin:50% 88%;animation:rh-travel-step .34s ease-in-out infinite alternate}.rh-travel-fallback{font-size:105px;animation:rh-travel-step .34s ease-in-out infinite alternate}.rh-travel-guitar{position:absolute;right:-2px;bottom:4px;font-size:46px;z-index:6;filter:drop-shadow(0 6px 6px rgba(0,0,0,.38));animation:rh-guitar-bob .34s ease-in-out infinite alternate}.rh-travel-road>i{position:absolute;left:18%;bottom:7px;width:12px;height:7px;border-radius:50%;background:rgba(218,187,139,.42);animation:rh-travel-dust 1.1s ease-out infinite}.rh-travel-road .d2{animation-delay:-.35s}.rh-travel-road .d3{animation-delay:-.7s}
@keyframes rh-mascot-journey{0%{left:-28%}74%{left:63%}88%{left:70%}100%{left:67%}}@keyframes rh-travel-step{to{transform:translateY(-7px) rotate(1.5deg) scaleX(.985)}}@keyframes rh-guitar-bob{to{transform:translateY(-4px) rotate(5deg)}}@keyframes rh-travel-dust{0%{transform:translate(0,0) scale(.4);opacity:0}30%{opacity:.7}100%{transform:translate(-55px,-17px) scale(1.8);opacity:0}}@keyframes rh-travel-star{50%{opacity:.25;transform:scale(.65)}}@keyframes rh-stage-arrive{0%,25%{opacity:.25;transform:scale(.85)}70%,100%{opacity:1;transform:scale(1)}}
@media(max-width:760px){.rh-performance-layout{grid-template-columns:1fr}.rh-side-hud{grid-template-columns:repeat(2,1fr);gap:8px}.rh-side-left{order:1}.rh-center-game{order:2}.rh-side-right{order:3}.rh-side-hud span{padding:9px 8px;border-radius:12px}.rh-side-hud b{font-size:20px}.rh-lane em,.rh-pad-key{display:none!important}.rh-pad-icon{display:inline}.rh-pads button{height:58px}.rh-note{width:40px;height:40px}.rh-note b{font-size:23px}.rh-note.is-hold i{bottom:30px;width:17px;height:calc(110px * var(--hold-progress,1))}.rh-traveler{width:125px;height:120px}.rh-travel-mascot{max-width:112px;max-height:110px}.rh-travel-stage{right:3%;bottom:28%}.rh-travel-stage span{font-size:60px}.rh-travel-guitar{font-size:34px}@keyframes rh-mascot-journey{0%{left:-34%}74%{left:58%}88%{left:66%}100%{left:63%}}}


/* Rhythm Hero 2.0.2 — stable hold trails */
.rh-note.is-active-hold{top:82%!important;transform:translate(-50%,-50%)!important}
.rh-note.is-active-hold i{bottom:34px!important}
@media(max-width:760px){.rh-note.is-active-hold i{bottom:30px!important}}


/* v2.0.4 — official guitar PNGs + reliable hold notes */
.rh-item-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none;user-select:none;-webkit-user-drag:none}
.rh-icon-frame .rh-item-image.rh-hub-item-image{width:74px;height:74px;max-width:100%;max-height:100%;transition:transform .22s ease,filter .22s ease}
.rh-hub-card:hover .rh-icon-frame .rh-item-image{transform:translateY(-4px) rotate(-2deg) scale(1.04);filter:brightness(1.08)}
.rh-big-icon .rh-item-image.rh-shop-guitar-image{width:112px;height:112px;margin:auto;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.28));transition:transform .22s ease,filter .22s ease}
.rh-shop-card:hover .rh-shop-guitar-image{transform:translateY(-5px) rotate(-2deg) scale(1.035);filter:drop-shadow(0 12px 16px rgba(0,0,0,.34)) brightness(1.06)}
.rh-travel-guitar{display:grid!important;place-items:center!important;width:62px!important;height:62px!important;font-size:0!important}
.rh-travel-guitar .rh-item-image.rh-travel-guitar-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.45))}
.rh-note.is-hold i{position:absolute!important;left:50%!important;bottom:34px!important;width:22px!important;height:var(--hold-length,140px)!important;transform:translateX(-50%) scaleY(var(--hold-progress,1))!important;transform-origin:50% 100%!important;border-radius:12px 12px 3px 3px!important;background:linear-gradient(180deg,rgba(196,153,255,.22),rgba(196,153,255,.92))!important;border:1px solid rgba(255,255,255,.22)!important;z-index:1!important;will-change:transform!important;overflow:hidden!important}
.rh-note.is-hold i u{position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.18) 0 8px,transparent 8px 17px);text-decoration:none;animation:rh-hold-trail-flow .7s linear infinite}
.rh-note.is-hold.is-golden i{background:linear-gradient(180deg,rgba(255,228,103,.24),rgba(255,205,66,.95))!important}
.rh-note.is-active-hold{top:82%!important;transform:translate(-50%,-50%)!important}
.rh-note.is-active-hold.is-hold-ready{box-shadow:0 0 0 5px rgba(119,255,190,.25),0 0 30px rgba(119,255,190,.9)!important;border-color:#8fffd6!important}
.rh-note.is-active-hold.is-hold-ready b{color:#d9fff1!important}
@keyframes rh-hold-trail-flow{to{background-position:0 17px}}
@media(max-width:760px){.rh-big-icon .rh-item-image.rh-shop-guitar-image{width:90px;height:90px}.rh-note.is-hold i{bottom:30px!important;width:18px!important}.rh-travel-guitar{width:50px!important;height:50px!important}}


/* v2.0.5 — large official guitar and pick artwork */
.rh-shop-card-guitar,
.rh-shop-card-pick{
    min-height:360px;
}
.rh-big-icon.rh-big-icon-guitar,
.rh-big-icon.rh-big-icon-pick{
    width:100%;
    height:168px;
    margin:0 0 8px;
    padding:0;
    display:grid;
    place-items:center;
    border:0;
    border-radius:0;
    background:transparent;
    overflow:visible;
    transform:none;
}
.rh-big-icon.rh-big-icon-guitar .rh-item-image,
.rh-big-icon.rh-big-icon-pick .rh-item-image{
    display:block;
    width:100%;
    height:100%;
    max-width:220px;
    max-height:168px;
    margin:auto;
    object-fit:contain;
    object-position:center;
    filter:drop-shadow(0 10px 16px rgba(0,0,0,.34));
    transition:transform .24s ease,filter .24s ease;
}
.rh-big-icon.rh-big-icon-pick .rh-item-image{
    max-width:150px;
    max-height:145px;
}
.rh-shop-card:hover .rh-big-icon.rh-big-icon-guitar,
.rh-shop-card:hover .rh-big-icon.rh-big-icon-pick{
    transform:none;
}
.rh-shop-card:hover .rh-big-icon.rh-big-icon-guitar .rh-item-image,
.rh-shop-card:hover .rh-big-icon.rh-big-icon-pick .rh-item-image{
    transform:translateY(-6px) scale(1.045);
    filter:drop-shadow(0 15px 20px rgba(0,0,0,.42)) brightness(1.06);
}
.rh-shop-card-guitar small,
.rh-shop-card-pick small{
    margin-top:6px;
}
.rh-icon-frame .rh-item-image.rh-hub-item-image{
    width:82px;
    height:82px;
    max-width:115%;
    max-height:115%;
}
@media(max-width:760px){
    .rh-shop-card-guitar,
    .rh-shop-card-pick{min-height:330px}
    .rh-big-icon.rh-big-icon-guitar,
    .rh-big-icon.rh-big-icon-pick{height:142px}
    .rh-big-icon.rh-big-icon-guitar .rh-item-image{max-width:190px;max-height:142px}
    .rh-big-icon.rh-big-icon-pick .rh-item-image{max-width:126px;max-height:124px}
}


/* v2.0.6 — equipped gear stays inside its hub frame and inherits rarity color */
.rh-hub-card-guitar .rh-icon-frame,
.rh-hub-card-pick .rh-icon-frame{
    width:78px;
    height:78px;
    min-width:78px;
    box-sizing:border-box;
    padding:7px;
    overflow:hidden;
    background:rgba(255,255,255,.035);
    border-width:2px;
    border-style:solid;
}
.rh-hub-card-guitar .rh-icon-frame .rh-item-image.rh-hub-item-image,
.rh-hub-card-pick .rh-icon-frame .rh-item-image.rh-hub-item-image{
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    margin:0;
    object-fit:contain;
    object-position:center;
    transform:none;
    filter:drop-shadow(0 5px 8px rgba(0,0,0,.28));
}
.rh-hub-card-guitar:hover .rh-icon-frame .rh-item-image,
.rh-hub-card-pick:hover .rh-icon-frame .rh-item-image{
    transform:translateY(-2px) scale(1.035);
}
.rh-hub-card.rarity-common .rh-icon-frame{border-color:#aab2c0;box-shadow:0 0 0 1px rgba(170,178,192,.12) inset}
.rh-hub-card.rarity-uncommon .rh-icon-frame{border-color:#6ee7a8;box-shadow:0 0 14px rgba(110,231,168,.15)}
.rh-hub-card.rarity-rare .rh-icon-frame{border-color:#62a9ff;box-shadow:0 0 14px rgba(98,169,255,.18)}
.rh-hub-card.rarity-epic .rh-icon-frame{border-color:#c784ff;box-shadow:0 0 15px rgba(199,132,255,.2)}
.rh-hub-card.rarity-legendary .rh-icon-frame{border-color:#ffb347;box-shadow:0 0 16px rgba(255,179,71,.21)}
.rh-hub-card.rarity-mythic .rh-icon-frame{border-color:#ff647c;box-shadow:0 0 16px rgba(255,100,124,.22)}
.rh-hub-card.rarity-developer .rh-icon-frame{border-color:#ffe56c;box-shadow:0 0 17px rgba(255,229,108,.24)}
.rh-hub-card.rarity-common small{color:#aab2c0}
.rh-hub-card.rarity-uncommon small{color:#6ee7a8}
.rh-hub-card.rarity-rare small{color:#62a9ff}
.rh-hub-card.rarity-epic small{color:#c784ff}
.rh-hub-card.rarity-legendary small{color:#ffb347}
.rh-hub-card.rarity-mythic small{color:#ff647c}
.rh-hub-card.rarity-developer small{color:#ffe56c}
@media(max-width:600px){
    .rh-hub-card-guitar .rh-icon-frame,
    .rh-hub-card-pick .rh-icon-frame{width:70px;height:70px;min-width:70px;padding:6px}
}


/* v2.0.7 — rarity frames in Gear and directly playable songs */
.rh-shop-card-guitar,
.rh-shop-card-pick{
    border-width:2px;
    transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.rh-shop-card-guitar .rh-big-icon,
.rh-shop-card-pick .rh-big-icon{
    box-sizing:border-box;
    padding:12px;
    border:2px solid rgba(255,255,255,.16);
    border-radius:20px;
    background:rgba(255,255,255,.025);
    overflow:hidden;
}
.rh-shop-card.rarity-common,
.rh-shop-card.rarity-common .rh-big-icon{border-color:#aab2c0}
.rh-shop-card.rarity-uncommon,
.rh-shop-card.rarity-uncommon .rh-big-icon{border-color:#6ee7a8}
.rh-shop-card.rarity-rare,
.rh-shop-card.rarity-rare .rh-big-icon{border-color:#62a9ff}
.rh-shop-card.rarity-epic,
.rh-shop-card.rarity-epic .rh-big-icon{border-color:#c784ff}
.rh-shop-card.rarity-legendary,
.rh-shop-card.rarity-legendary .rh-big-icon{border-color:#ffb347}
.rh-shop-card.rarity-mythic,
.rh-shop-card.rarity-mythic .rh-big-icon{border-color:#ff647c}
.rh-shop-card.rarity-developer,
.rh-shop-card.rarity-developer .rh-big-icon{border-color:#ffe56c}
.rh-shop-card.rarity-uncommon{box-shadow:0 0 18px rgba(110,231,168,.08)}
.rh-shop-card.rarity-rare{box-shadow:0 0 18px rgba(98,169,255,.09)}
.rh-shop-card.rarity-epic{box-shadow:0 0 19px rgba(199,132,255,.1)}
.rh-shop-card.rarity-legendary{box-shadow:0 0 20px rgba(255,179,71,.11)}
.rh-shop-card.rarity-mythic{box-shadow:0 0 20px rgba(255,100,124,.12)}
.rh-shop-card.rarity-developer{box-shadow:0 0 21px rgba(255,229,108,.13)}
.rh-shop-card.is-selected{box-shadow:0 0 0 2px currentColor inset,0 0 24px rgba(255,255,255,.12)}

.rh-song{
    width:100%;
    color:inherit;
    text-align:left;
    font:inherit;
    cursor:pointer;
    transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.rh-song.is-playable:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.07);
}
.rh-song.is-playable:focus-visible{outline:3px solid #f1c84d;outline-offset:2px}
.rh-song.is-locked{cursor:not-allowed}
.rh-song>b{display:flex;align-items:center;gap:10px;white-space:nowrap}
.rh-song>b em{font-style:normal;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.7)}
.rh-song.rarity-common{border-color:rgba(170,178,192,.5)}
.rh-song.rarity-uncommon{border-color:rgba(110,231,168,.55)}
.rh-song.rarity-rare{border-color:rgba(98,169,255,.58)}
.rh-song.rarity-epic{border-color:rgba(199,132,255,.58)}
.rh-song.rarity-legendary{border-color:rgba(255,179,71,.6)}
.rh-song.rarity-mythic{border-color:rgba(255,100,124,.62)}
.rh-song.rarity-developer{border-color:rgba(255,229,108,.66)}
@media(max-width:600px){
    .rh-shop-card-guitar .rh-big-icon,
    .rh-shop-card-pick .rh-big-icon{padding:8px;border-radius:16px}
    .rh-song{grid-template-columns:auto minmax(0,1fr)}
    .rh-song>b{grid-column:2;justify-content:space-between}
}


/* Rhythm Hero 2.0.8 — exclusive hold lanes + 3–6 star performance rating */
.rh-performance-stars{display:flex;justify-content:center;gap:7px;margin:12px 0 6px;font-size:clamp(28px,5vw,44px);line-height:1}
.rh-performance-stars span{color:rgba(255,255,255,.13);text-shadow:none;transform:scale(.92)}
.rh-performance-stars span.is-earned{color:#ffd95a;text-shadow:0 0 12px rgba(255,217,90,.55),0 3px 0 rgba(109,69,0,.35);transform:scale(1)}
.rh-performance-accuracy{margin:0 0 18px;color:rgba(255,255,255,.7);font-weight:800}


/* Rhythm Hero 2.0.9 — saved song performance details */
.rh-song-performance{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px}
.rh-song-performance>small{margin:0;color:rgba(255,255,255,.72);font-weight:800;letter-spacing:0;text-transform:none}
.rh-song-performance.is-unplayed>small{color:rgba(255,255,255,.42);font-style:italic}
.rh-song-stars{display:flex;gap:2px;font-size:15px;line-height:1}
.rh-song-stars span{color:rgba(255,255,255,.13);text-shadow:none}
.rh-song-stars span.is-earned{color:#ffd95a;text-shadow:0 0 7px rgba(255,217,90,.45)}
@media(max-width:600px){.rh-song-performance{align-items:flex-start;flex-direction:column;gap:5px}}

/* Rhythm Hero 2.0.10 — open guitar artwork in Gear + per-lane perfect targets */
.rh-shop-card-guitar .rh-big-icon.rh-big-icon-guitar{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    overflow:visible;
}
.rh-shop-card-guitar .rh-big-icon.rh-big-icon-guitar .rh-item-image{
    width:100%;
    height:100%;
    max-width:230px;
    max-height:168px;
    object-fit:contain;
    object-position:center;
    overflow:visible;
}
.rh-perfect-target{
    position:absolute;
    left:50%;
    bottom:18%;
    width:52px;
    height:52px;
    box-sizing:border-box;
    transform:translate(-50%,50%);
    border:3px solid rgba(255,255,255,.72);
    border-radius:10px;
    background:rgba(255,255,255,.025);
    box-shadow:0 0 0 1px rgba(0,0,0,.28),0 0 16px rgba(241,200,77,.24);
    pointer-events:none;
    z-index:2;
}
.rh-lane.is-hit .rh-perfect-target{
    border-color:#8fffd6;
    box-shadow:0 0 0 2px rgba(143,255,214,.18),0 0 22px rgba(143,255,214,.72);
}
.rh-lane.is-miss .rh-perfect-target{
    border-color:#ff8e9b;
    box-shadow:0 0 0 2px rgba(255,142,155,.16),0 0 20px rgba(255,142,155,.55);
}
@media(max-width:760px){
    .rh-shop-card-guitar .rh-big-icon.rh-big-icon-guitar .rh-item-image{max-width:205px;max-height:148px}
    .rh-perfect-target{width:46px;height:46px;border-width:3px;border-radius:9px}
}


/* ==========================================================================
   POCKET MASCOT RHYTHM HERO 2.1.1
   Mobile direct-lane controls and compact performance layout
   ========================================================================== */

.rh-mobile-score-hud {
    display:none;
}

@media (max-width:760px), (pointer:coarse) {
    /*
     * Completely remove browser tap highlights, selection flashes and long-
     * press callouts throughout Rhythm Hero. Game feedback still uses the
     * explicit green/red lane states.
     */
    #mrw-rhythm-adventure,
    #mrw-rhythm-adventure *,
    #mrw-rhythm-adventure *::before,
    #mrw-rhythm-adventure *::after {
        -webkit-tap-highlight-color:transparent !important;
        -webkit-touch-callout:none !important;
        user-select:none !important;
        -webkit-user-select:none !important;
    }

    #mrw-rhythm-adventure button,
    #mrw-rhythm-adventure [role="button"],
    #mrw-rhythm-adventure a,
    #mrw-rhythm-adventure .rh-perfect-target {
        outline:none !important;
        appearance:none !important;
        -webkit-appearance:none !important;
    }

    #mrw-rhythm-adventure button:focus,
    #mrw-rhythm-adventure button:focus-visible,
    #mrw-rhythm-adventure button:active,
    #mrw-rhythm-adventure .rh-perfect-target:focus,
    #mrw-rhythm-adventure .rh-perfect-target:focus-visible,
    #mrw-rhythm-adventure .rh-perfect-target:active {
        outline:none !important;
        box-shadow:none;
    }

    /* Remove the separate bottom tap buttons on phones. */
    .rh-performance .rh-pads {
        display:none !important;
    }

    /*
     * The four visible perfect zones are the controls. Their visual size stays
     * compact, while a larger invisible hit area makes tapping comfortable.
     */
    .rh-performance .rh-perfect-target {
        pointer-events:auto !important;
        cursor:pointer;
        touch-action:none;
        z-index:8;
    }

    .rh-performance .rh-perfect-target::after {
        content:"";
        position:absolute;
        left:50%;
        top:50%;
        width:max(68px,calc((100vw - 62px)/4));
        height:86px;
        transform:translate(-50%,-50%);
        background:transparent;
        border:0;
    }

    /* Keep the target itself from receiving a browser-native active tint. */
    .rh-performance .rh-perfect-target:active {
        background:rgba(255,255,255,.025) !important;
        border-color:rgba(255,255,255,.72) !important;
    }

    /* Score and combo sit directly below the note lanes on mobile. */
    .rh-performance-layout {
        display:block !important;
    }

    .rh-performance .rh-side-left {
        display:none !important;
    }

    .rh-mobile-score-hud {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
        margin-top:10px;
    }

    .rh-mobile-score-hud span {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        min-height:48px;
        padding:10px 14px;
        border:1px solid rgba(255,255,255,.1);
        border-radius:13px;
        background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
        color:rgba(255,255,255,.62);
        font-size:13px;
        font-weight:900;
    }

    .rh-mobile-score-hud b {
        color:#fff;
        font-size:21px;
        line-height:1;
    }

    .rh-performance .rh-side-right {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
        margin-top:9px;
    }

    .rh-performance .rh-side-right span {
        padding:10px 12px;
        min-height:45px;
        border-radius:13px;
    }

    .rh-performance .rh-side-right b {
        font-size:20px;
    }

    /* Fit the playable lanes into the phone viewport after the travel scene. */
    .rh-performance .rh-lanes {
        height:min(55dvh,410px) !important;
        min-height:300px;
    }

    .rh-content.rh-mobile-performance-open {
        scroll-behavior:auto !important;
    }
}
