:root{font-family:"Helvetica Neue",Arial,system-ui,sans-serif;color:#243645;background:#F4F6F8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #2976DD;outline-offset:3px}.studio-root{height:100dvh;min-height:0;display:flex;flex-direction:column}.studio-bar{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 24px;border-bottom:1px solid #DDE4E9;background:white}.studio-bar>a{font-size:14px;min-height:42px;display:flex;align-items:center}.studio-identity{display:flex;align-items:center;gap:9px;margin:auto;font-size:15px;font-weight:700}.studio-identity img{width:32px;height:32px;border-radius:8px;object-fit:cover}.studio-bar button{border:1px solid #D0DBE2;border-radius:9px;background:white;min-height:38px;padding:8px 12px;font-size:13px;color:#314B5D}.studio-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#E9EEF2}.studio-frame{display:block;border:0;width:min(100%,calc((100dvh - 58px)*9/16));height:100%;max-width:560px;background:white}.studio-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#F4F6F8;padding:24px;text-align:center}.studio-cover img{width:150px;height:150px;border-radius:30px;object-fit:cover;box-shadow:0 8px 24px #283E5112}.studio-cover h1{font-size:30px;letter-spacing:-1px;margin:0}.studio-cover p{font-size:14px;line-height:1.6;color:#647585;max-width:320px;margin:0}.studio-cover button{min-height:44px;padding:11px 22px;border:0;border-radius:10px;background:#FF4F00;color:white;font-size:15px;font-weight:650}.studio-loading-label{display:flex;align-items:center;gap:9px;font-size:14px;color:#647585}.studio-loading-label::before{content:"";width:14px;height:14px;border:2px solid #C7D3DC;border-top-color:#FF4F00;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.studio-rules{width:min(90vw,520px);padding:28px;border:1px solid #D9E2E9;border-radius:20px;color:#314A5C;background:white}.studio-rules::backdrop{background:#1F354D70}.studio-rules h2{font-size:26px;line-height:1.15;margin:0 0 14px}.studio-rules p,.studio-rules li{font-size:16px;line-height:1.65}.studio-rules ol{padding-left:22px;margin:15px 0 24px}.studio-rules button{padding:11px 18px;background:#FF4F00;border:0;border-radius:10px;color:white;font-size:15px;min-height:44px}.studio-language{font-size:12px!important;color:#687C8B}.studio-rules a{display:inline-block;font-size:14px;color:#B33B08;text-decoration:underline;margin-left:15px}body[data-embedded="true"] .studio-bar{display:none}body[data-embedded="true"] .studio-root{min-height:0}body[data-embedded="true"] .studio-frame{width:min(100%,calc(100dvh*9/16))}
@media(max-width:620px){.studio-bar{padding:0 12px;gap:8px;min-height:54px}.studio-bar>a{font-size:12px;flex-shrink:0}.studio-identity{font-size:13px;gap:7px;min-width:0;flex:1}.studio-identity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-identity img{width:26px;height:26px;flex-shrink:0}.studio-bar button{font-size:12px;padding:8px 9px;flex-shrink:0}.studio-frame{width:100%;max-width:none}.studio-cover img{width:120px;height:120px}.studio-cover h1{font-size:26px}.studio-rules{padding:23px}.studio-rules p,.studio-rules li{font-size:15px}}@media(max-width:360px){.studio-identity img{display:none}.studio-bar{padding:0 9px;gap:6px}.studio-identity{font-size:12px}.studio-bar button{padding:8px;font-size:11px}}@media(prefers-reduced-motion:reduce){.studio-loading-label::before{animation:none}}

/* The original sharp game sits above its own blurred home scene. */
.studio-stage{background:#F1ECF7;isolation:isolate}.studio-backdrop{position:absolute;inset:-32px;width:calc(100% + 64px);height:calc(100% + 64px);max-width:none;object-fit:cover;filter:blur(24px) saturate(.85);opacity:.94;pointer-events:none;user-select:none;z-index:0}.studio-frame{position:relative;z-index:1;box-shadow:0 0 35px #29162E24}.studio-cover{z-index:2}.studio-back-icon{width:17px;height:17px;object-fit:contain;transform:rotate(180deg);margin-right:6px}
.studio-frame[data-height-fit="true"]{max-width:none;flex:none;box-shadow:none}

/* JoyHop's host chrome; this does not restyle the original game's document. */
:root{color-scheme:dark;color:#f2f3fa;background:#101116}
.studio-root{height:100vh;height:100dvh}
.studio-bar{background:#1b1d27;border-color:#323644;color:#e5e7f2;min-height:52px;padding:0 max(18px,env(safe-area-inset-left))}
.studio-bar button{background:#2a2d3b;border-color:#44475b;color:#e8e2f6;border-radius:7px}
.studio-stage{background:#12131b}.studio-backdrop{filter:blur(24px) saturate(.8) brightness(.68);opacity:.9}
.studio-frame{background:#171820}.studio-cover{background:#171923;color:#f5f3fc}
.studio-cover p,.studio-loading-label{color:#c0c4d2}.studio-loading-label::before{border-color:#4c435e;border-top-color:#aa86ff}
.studio-cover button,.studio-rules button{background:#8056eb}.studio-rules{background:#222431;border-color:#454151;color:#e2e0eb}
.studio-rules::backdrop{background:#080811c9}.studio-language{color:#b3b6c9!important}.studio-rules a{color:#cbb6ff}
body[data-studio-fullpage=true] .studio-bar{min-height:42px;padding-top:env(safe-area-inset-top,0px)}
body[data-studio-fullpage=true] .studio-stage{padding-bottom:env(safe-area-inset-bottom,0px)}
/* The standalone player owns its Banner; embedded games use the outer host's space. */
body[data-embedded="false"] .studio-root{height:calc(100vh - var(--joyhop-ad-bottom-space,0px));height:calc(100dvh - var(--joyhop-ad-bottom-space,0px))}
@media(max-width:620px){.studio-bar{min-height:48px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.studio-bar button{min-height:34px;padding:7px 8px}.studio-identity{font-size:12px}.studio-identity img{width:24px;height:24px}}
