/* One original fireside drum and a self-contained rhythm overlay. */
#ggIslandDrumV800{position:absolute;width:64px;height:90px;padding:0;border:0;background:none!important;box-shadow:none!important;appearance:none;pointer-events:auto;touch-action:manipulation;cursor:pointer;overflow:visible;isolation:isolate}
#ggIslandDrumV800 img{display:block;width:64px;height:90px;pointer-events:none;user-select:none;-webkit-user-drag:none;transition:transform .12s}
#ggIslandDrumV800:active img{transform:scaleY(.97) translateY(1px)}
#ggIslandDrumV800 small{position:absolute;bottom:-13px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:4px 7px;background:linear-gradient(#eceff1,#b5bec8);border:1px solid #69727c;border-radius:8px;color:#292431;font:850 9px/1 system-ui;pointer-events:none}
#ggIslandDrumV800:focus-visible{outline:3px solid #e4bc60;outline-offset:4px}
/* v804: compact translucent invitation; only lanes/pads/HUD remain during play. */
#ggDrumOverlayV804{position:fixed!important;inset:0!important;z-index:2147483600!important;display:grid!important;place-items:center!important;padding:18px!important;background:rgba(14,10,23,.14)!important;color:#fff7e8!important;font-family:system-ui,sans-serif!important;overflow:hidden!important;isolation:isolate;box-sizing:border-box!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;}
#ggDrumOverlayV804[hidden],#ggDrumOverlayV804 [hidden]{display:none!important;}
#ggDrumOverlayV804 *,#ggDrumOverlayV804 *::before,#ggDrumOverlayV804 *::after{box-sizing:border-box!important;}
#ggDrumOverlayV804 button{position:relative!important;margin:0!important;min-width:44px!important;min-height:44px!important;border:1px solid rgba(243,227,197,.65)!important;border-radius:12px!important;background:rgba(28,23,40,.72)!important;color:#fff3d8!important;padding:10px 13px!important;font:850 13px/1.15 system-ui,sans-serif!important;letter-spacing:.025em!important;box-shadow:0 3px 9px #0003!important;cursor:pointer!important;touch-action:none!important;}
#ggDrumOverlayV804 button:focus-visible,#ggDrumOverlayV804 select:focus-visible{outline:3px solid #fff7d6!important;outline-offset:3px!important;}
#ggDrumOverlayV804 .gg-drum-sheet-v804{position:relative!important;width:min(100%,410px)!important;max-height:calc(100dvh - 40px)!important;padding:25px 20px 21px!important;border:1px solid rgba(243,226,180,.6)!important;border-radius:22px!important;background:rgba(25,20,35,.76)!important;box-shadow:0 14px 40px #0004,inset 0 1px #fff2!important;display:flex!important;flex-direction:column!important;gap:13px!important;text-align:center!important;align-items:center!important;overflow:auto!important;z-index:10!important;}
#ggDrumOverlayV804 .gg-drum-sheet-v804 .gg-drum-close-v804{position:absolute!important;right:7px!important;top:7px!important;min-width:36px!important;min-height:36px!important;width:36px!important;height:36px!important;padding:3px!important;font-size:24px!important;background:rgba(255,255,255,.1)!important;border:0!important;box-shadow:none!important;}
#ggDrumOverlayV804 .gg-drum-sheet-v804 h2{margin:0!important;color:#f6d795!important;font:700 30px/1.05 Georgia,serif!important;}
#ggDrumOverlayV804 .gg-drum-sheet-v804 p{margin:0!important;color:#fff5e9!important;font:500 13px/1.5 system-ui!important;max-width:340px!important;}
#ggDrumOverlayV804 .gg-drum-sheet-v804>small{font:650 10px/1.3 system-ui!important;color:#e4d6ed!important;}
#ggDrumOverlayV804 .gg-drum-sheet-v804 .gg-drum-eyebrow-v804{font:850 9px/1.3 system-ui!important;letter-spacing:.14em!important;color:#f5d890!important;margin-right:12px!important;}
#ggDrumOverlayV804 .gg-drum-sheet-v804 label{width:100%!important;display:grid!important;gap:4px!important;font:650 11px/1.3 system-ui!important;color:#f1e3f1!important;}
#ggDrumOverlayV804 select{width:100%!important;height:43px!important;border:1px solid #d4c4d799!important;border-radius:10px!important;background:rgba(23,19,34,.76)!important;color:#fff0cc!important;padding:7px 10px!important;font:750 12px/1.3 system-ui!important;}
#ggDrumOverlayV804 option{background:#251e30;color:#fff2d6;}
#ggDrumOverlayV804 button.primary{width:100%!important;min-height:47px!important;background:linear-gradient(#f9dfa0,#d7ab4e)!important;color:#302533!important;border-color:#b68c3e!important;}
#ggDrumOverlayV804 [data-lane="0"]{--beat:#ff727d;--wash:rgba(225,66,83,.2);}
#ggDrumOverlayV804 [data-lane="1"]{--beat:#ffda79;--wash:rgba(231,181,47,.2);}
#ggDrumOverlayV804 [data-lane="2"]{--beat:#77d4ff;--wash:rgba(57,167,224,.2);}
#ggDrumOverlayV804 .gg-drum-color-key-v804{display:flex!important;gap:7px!important;justify-content:center!important;width:100%!important;}
#ggDrumOverlayV804 .gg-drum-color-key-v804 span{flex:1;padding:8px 4px;border:1px solid var(--beat);border-radius:9px;background:var(--wash);color:var(--beat);font:850 10px/1.2 system-ui;}
#ggDrumOverlayV804[data-phase="playing"],#ggDrumOverlayV804[data-phase="count-in"]{background:transparent!important;}
#ggDrumOverlayV804 .gg-drum-play-v804{position:absolute!important;inset:0!important;background:none!important;}
#ggDrumOverlayV804 .gg-drum-top-v804{position:absolute!important;top:max(12px,env(safe-area-inset-top))!important;left:50%!important;transform:translateX(-50%)!important;width:min(calc(100% - 28px),510px)!important;display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:4px 10px!important;background:rgba(21,18,30,.56)!important;border:1px solid #fff4!important;border-radius:16px!important;padding:8px 10px!important;box-shadow:0 4px 18px #0002!important;}
#ggDrumOverlayV804 .gg-drum-title-v804{font:700 21px/1.1 Georgia,serif!important;color:#ffe8ad!important;white-space:nowrap!important;}
#ggDrumOverlayV804 .gg-drum-controls-v804{display:flex!important;gap:5px!important;}
#ggDrumOverlayV804 .gg-drum-controls-v804 button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:6px!important;font-size:22px!important;background:rgba(36,28,42,.42)!important;border-color:#e8dfd67a!important;}
#ggDrumOverlayV804 .gg-drum-hud-v804{grid-column:1/-1!important;display:flex!important;justify-content:space-between!important;gap:8px!important;color:#e9e2ef!important;font:800 9px/1.6 system-ui!important;letter-spacing:.05em!important;}
#ggDrumOverlayV804 .gg-drum-hud-v804 b{display:inline!important;color:#fff0c4!important;font:900 16px/1.3 system-ui!important;font-variant-numeric:tabular-nums!important;margin-left:5px!important;}
#ggDrumOverlayV804 .gg-drum-feedback-v804{position:absolute!important;top:max(102px,calc(env(safe-area-inset-top) + 97px))!important;left:12px!important;right:12px!important;text-align:center!important;pointer-events:none!important;font:900 17px/1.25 system-ui!important;color:#fff4c5!important;text-shadow:0 2px 3px #171022,0 0 7px #171022!important;z-index:8!important;}
#ggDrumOverlayV804 .gg-drum-feedback-v804[data-grade="miss"]{color:#ffd0d7!important;font-size:13px!important;}
#ggDrumOverlayV804 .gg-drum-track-v804{position:absolute!important;top:max(143px,calc(env(safe-area-inset-top) + 132px))!important;bottom:max(29px,calc(env(safe-area-inset-bottom) + 25px))!important;left:50%!important;transform:translateX(-50%)!important;width:min(calc(100% - 28px),510px)!important;overflow:hidden!important;}
#ggDrumOverlayV804 .gg-drum-rails-v804{position:absolute!important;inset:0 0 4px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;pointer-events:none!important;}
#ggDrumOverlayV804 .gg-drum-rails-v804>div{border-left:1px solid var(--wash);border-right:1px solid var(--wash);background:linear-gradient(transparent 10%,var(--wash));border-radius:12px;}
#ggDrumOverlayV804 .gg-drum-notes-v804{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:3!important;}
#ggDrumOverlayV804 .gg-drum-note-v804{position:absolute!important;left:0!important;top:0!important;width:0!important;height:0!important;will-change:transform!important;pointer-events:none!important;}
#ggDrumOverlayV804 .gg-drum-note-v804 .head{position:absolute!important;left:-24px!important;top:-13px!important;width:48px!important;height:26px!important;display:grid!important;place-items:center!important;border:2px solid #fff1d9!important;border-radius:8px!important;background:var(--beat)!important;color:#312535!important;box-shadow:0 2px 7px #15102488,0 0 10px var(--wash)!important;font:900 15px/1 system-ui!important;z-index:2!important;}
#ggDrumOverlayV804 .gg-drum-note-v804 .tail{position:absolute!important;left:-7px!important;bottom:0!important;width:14px!important;border:1px solid #fff7!important;border-radius:7px 7px 3px 3px!important;background:var(--beat)!important;opacity:.78!important;box-shadow:0 0 7px var(--wash)!important;}
#ggDrumOverlayV804 .gg-drum-note-v804.in-window .head{box-shadow:0 0 0 3px #fff6,0 0 14px var(--beat)!important;}
#ggDrumOverlayV804 .gg-drum-note-v804[data-status="holding"] .head{font-size:10px!important;}
#ggDrumOverlayV804 .gg-drum-pads-v804{position:absolute!important;bottom:0!important;left:0!important;right:0!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;z-index:4!important;}
#ggDrumOverlayV804 .gg-drum-pads-v804 button{height:68px!important;min-height:68px!important;padding:7px 5px!important;display:flex!important;flex-direction:column!important;gap:5px!important;align-items:center!important;justify-content:center!important;border:3px solid var(--beat)!important;border-radius:13px!important;background:var(--wash)!important;color:#fff9ef!important;box-shadow:inset 0 0 18px #11091c55,0 3px 9px #0004!important;text-shadow:0 1px 3px #000!important;}
#ggDrumOverlayV804 .gg-drum-pads-v804 button>b{font-size:21px!important;line-height:1!important;color:var(--beat)!important;}
#ggDrumOverlayV804 .gg-drum-pads-v804 button>span{font:900 11px/1 system-ui!important;letter-spacing:.06em!important;}
#ggDrumOverlayV804 .gg-drum-pads-v804 button small{font-size:9px!important;opacity:.7!important;margin-left:3px!important;}
#ggDrumOverlayV804 .gg-drum-pads-v804 button:is(.pressed,.holding){background:var(--beat)!important;color:#231d2d!important;text-shadow:none!important;box-shadow:0 0 17px var(--beat),inset 0 0 12px #fff8!important;}
#ggDrumOverlayV804 .gg-drum-pads-v804 button:is(.pressed,.holding)>b{color:#332433!important;}
#ggDrumOverlayV804 .gg-drum-hint-v804{position:absolute!important;bottom:max(7px,calc(env(safe-area-inset-bottom) + 5px))!important;left:5px!important;right:5px!important;margin:0!important;text-align:center!important;font:850 9px/1.1 system-ui!important;letter-spacing:.065em!important;color:#fff4d5!important;text-shadow:0 1px 4px #000!important;}
#ggDrumOverlayV804 .gg-drum-results-v804{display:grid!important;grid-template-columns:repeat(3,1fr)!important;width:100%!important;gap:8px!important;}
#ggDrumOverlayV804 .gg-drum-results-v804>b{font:900 22px/1.2 system-ui!important;color:#ffdf91!important;}
#ggDrumOverlayV804 .gg-drum-results-v804 small{display:block!important;font:750 9px/1.4 system-ui!important;color:#eee2f1!important;}
/* Suppress only Island UI while playing, not the world/camera/actors/ambient scheduler. */
body.gg-drum-playing-v804 #ggIslandGameV682>.gg-island-hud-v682,
body.gg-drum-playing-v804 #ggIslandGameV682>.gg-island-bottom-v682,
body.gg-drum-playing-v804 #ggIslandGameV682>[data-island-ui],
body.gg-drum-playing-v804 #ggIslandGameV682>.gg-island-clock-v682,
body.gg-drum-playing-v804 #ggIslandGameV682>.ggi-radioactive-status-v790{visibility:hidden!important;pointer-events:none!important;}
@media(max-height:540px){#ggDrumOverlayV804 .gg-drum-sheet-v804{padding:17px 18px!important;gap:8px!important;}#ggDrumOverlayV804 .gg-drum-sheet-v804 h2{font-size:25px!important;}#ggDrumOverlayV804 .gg-drum-track-v804{top:112px!important;}#ggDrumOverlayV804 .gg-drum-feedback-v804{top:91px!important;font-size:13px!important;}}

/* Beat panels and tails must honor hidden even under the site's legacy display rules. */
#ggDrumOverlayV804 [hidden][hidden][hidden]{display:none!important;}
#ggDrumOverlayV804 .gg-drum-color-key-v804 span{color:var(--beat)!important;}
#ggDrumOverlayV804 .gg-drum-hud-v804>span{color:#e9e2ef!important;}
#ggDrumOverlayV804 .gg-drum-pads-v804 button>span,#ggDrumOverlayV804 .gg-drum-pads-v804 button small{color:inherit!important;}
body.gg-drum-playing-v804 #ggIslandGameV682 .gg-island-money-gauge-v689,
body.gg-drum-playing-v804 #ggIslandGameV682 .gg-island-level-gauge-v689,
body.gg-drum-playing-v804 #ggIslandClockV687,
body.gg-drum-playing-v804 #ggIslandTapHintV682,
body.gg-drum-playing-v804 #ggIslandToastV682{visibility:hidden!important;pointer-events:none!important;}

/* v804 polish: setup stays compact; hold progress and grades belong to each pad. */
#ggDrumOverlayV804{height:100dvh!important;overscroll-behavior:none!important}
#ggDrumOverlayV804 .gg-drum-sheet-v804{max-height:calc(100dvh - 32px)!important;overflow:auto!important;overscroll-behavior:contain!important;touch-action:pan-y!important}
#ggDrumOverlayV804 .gg-drum-options-v804{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)!important;width:100%!important;gap:8px!important}
#ggDrumOverlayV804 .gg-drum-options-v804 button{font-size:10px!important;min-width:0!important}
#ggDrumOverlayV804 .gg-drum-options-v804 select{font-size:11px!important;padding:5px!important}
#ggDrumOverlayV804 .gg-drum-rewards-v804{width:100%!important;text-align:left!important;border-top:1px solid #fff3!important;padding-top:8px!important}
#ggDrumOverlayV804 .gg-drum-rewards-v804 summary{font:750 11px/1.4 system-ui!important;color:#ffe4a5!important;cursor:pointer!important;min-height:28px!important}
#ggDrumOverlayV804 .gg-drum-rewards-v804 small{display:block!important;font:600 10px/1.5 system-ui!important;margin-top:7px!important;color:#f3e9f4!important}
#ggDrumOverlayV804 .gg-drum-unlocked-v804{color:#ffdfa0!important;font-weight:850!important}
#ggDrumOverlayV804[data-phase="resuming"]{background:transparent!important}
#ggDrumOverlayV804 .gg-drum-pads-v804 button{overflow:visible!important}
#ggDrumOverlayV804 .gg-drum-pads-v804 .lane-grade{position:absolute!important;bottom:calc(100% + 9px)!important;left:-2px!important;right:-2px!important;font:900 12px/1.2 system-ui!important;font-style:normal!important;color:var(--beat)!important;text-shadow:0 2px 3px #21192b,0 0 5px #21192b!important;pointer-events:none!important;white-space:nowrap!important}
#ggDrumOverlayV804 .gg-drum-pads-v804 [data-grade="miss"] .lane-grade{color:#ffe6e6!important}
#ggDrumOverlayV804 .gg-drum-pads-v804 .hold-meter{position:absolute!important;left:7px!important;right:7px!important;bottom:4px!important;height:4px!important;border-radius:3px!important;background:#352635!important;transform-origin:left center!important;transform:scaleX(var(--hold-progress,0))!important;pointer-events:none!important}
#ggDrumOverlayV804 .gg-drum-pads-v804 button.complete::after{content:"✦"!important;position:absolute!important;right:8px!important;top:-17px!important;color:var(--beat)!important;font:900 20px/1 system-ui!important;pointer-events:none!important;animation:gg-drum-complete-v804 .45s ease-out both!important}
@keyframes gg-drum-complete-v804{to{opacity:0;transform:translateY(-20px) scale(1.45)}}
#ggIslandDrumV800 img{transform:scaleY(var(--drum-hit-scale-v804,1));transform-origin:center bottom}
#ggIslandDrumV800[data-skin="moonlit"] img{filter:grayscale(.75) sepia(.12) hue-rotate(155deg) saturate(.9) brightness(1.22)}
#ggIslandDrumV800[data-skin="gilded"] img{filter:sepia(.7) saturate(1.45) brightness(1.2)}
body.gg-drum-playing-v804 #ggIslandGameV682>:is(.gg-island-hud-v682,.gg-island-bottom-v682,[data-island-ui],.gg-island-clock-v682,.ggi-radioactive-status-v790){visibility:visible!important;opacity:0!important;pointer-events:none!important;transition:opacity .16s!important}
@media(prefers-reduced-motion:reduce){#ggDrumOverlayV804 .gg-drum-pads-v804 button.complete::after{animation:none!important;opacity:.8!important}}

/* v805 setup stays compact until the player expands Practice & timing. */
#ggDrumOverlayV804 .gg-drum-practice-v805{width:100%!important;text-align:left!important;border-top:1px solid #fff3!important;padding-top:8px!important;font:650 11px/1.45 system-ui!important}
#ggDrumOverlayV804 .gg-drum-practice-v805 summary{cursor:pointer!important;min-height:32px!important;padding:5px!important}
#ggDrumOverlayV804 .gg-drum-practice-v805[open]{display:grid!important;gap:10px!important}
#ggDrumOverlayV804 .gg-drum-practice-v805 small{font:500 10px/1.5 system-ui!important}
#ggDrumOverlayV804 [data-drum="timing"]{width:100%!important;accent-color:#f2d480!important;min-height:34px!important}
#ggDrumOverlayV804 .gg-calibration-pad-v805{min-height:110px!important;font-size:30px!important;touch-action:none!important}
#ggDrumOverlayV804 .gg-drum-sheet-v804{touch-action:pan-y!important;overscroll-behavior:contain!important}
#ggDrumOverlayV804 .gg-drum-practice-v805 summary{color:#ffe4a5!important;background:transparent!important;font:750 11px/1.4 system-ui!important}
#ggDrumOverlayV804 .gg-drum-practice-v805 :is(small,label){color:#fff1d2!important}
