#jsr-root {
    --sky-top:#ffc164;
    --sky-mid:#ff7a5c;
    --sky-low:#5a2f6b;
    --ground-far:#123a30;
    --ground-near:#1f6b4d;
    --path:#ffd166;
    --wood:#a1601f;
    --wood-dark:#6e3f14;
    --danger:#ff5257;
    --gem:#5be8c9;
    --cream:#fff6e6;
    --ink:#20142f;
    --panel:rgba(20,12,28,0.82);
    --panel-border:rgba(255,214,102,0.35);
    color-scheme:dark;
    display:block;
    margin:0;
    background:#0b0712;
    font-family:'M PLUS Rounded 1c','Hiragino Maru Gothic ProN',sans-serif;
    color:var(--cream);
    overflow:hidden;
    overscroll-behavior:none;
    touch-action:none;
    -webkit-user-select:none;
    user-select:none;
    line-height:1.4;
    z-index:100000;
  }#jsr-root, #jsr-root * {box-sizing:border-box;-webkit-tap-highlight-color:transparent;}#jsr-root .display {font-family:'Baloo 2','M PLUS Rounded 1c',sans-serif;font-variant-numeric:tabular-nums;}#jsr-root.jsr-mode-fullscreen {
    position:fixed;
    inset:0;
    height:100vh;
    height:100dvh;
  }body.admin-bar #jsr-root.jsr-mode-fullscreen { top:32px; }
  @media screen and (max-width:782px){
    body.admin-bar #jsr-root.jsr-mode-fullscreen{ top:46px; }
  }#jsr-root.jsr-mode-embed {
    position:relative;
    width:100%;
    border-radius:20px;
    box-shadow:0 16px 40px rgba(0,0,0,.35);
  }#jsr-root #jsr-stage {
    position:relative;
    width:100%;
    height:100%;
    max-width:560px;
    margin:0 auto;
    overflow:hidden;
    background:#0b0712;
  }#jsr-root.jsr-mode-embed #jsr-stage { border-radius:20px; }#jsr-root canvas#jsr-game {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
  }

  
  /* ---------- HUD ---------- */
  
  #jsr-root #jsr-hud {
    position:absolute;
    top:0;left:0;right:0;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 0;
    pointer-events:none;
    z-index:5;
  }#jsr-root .hud-pill {
    background:var(--panel);
    border:1px solid var(--panel-border);
    border-radius:999px;
    padding:6px 14px;
    display:flex;
    align-items:center;
    gap:8px;
    backdrop-filter:blur(6px);
  }#jsr-root #jsr-scoreLabel {font-size:11px;letter-spacing:.08em;opacity:.7;margin-right:2px;}#jsr-root #jsr-scoreVal {font-size:20px;font-weight:700;}#jsr-root #jsr-hearts {display:flex;gap:4px;}#jsr-root .heart {width:16px;height:16px;position:relative;}#jsr-root .heart svg {width:100%;height:100%;display:block;}#jsr-root #jsr-gemRow {display:flex;align-items:center;gap:5px;font-size:14px;font-weight:700;margin-top:6px;}#jsr-root #jsr-gemRow svg {width:14px;height:14px;}#jsr-root .hud-right {display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:auto;}#jsr-root #jsr-muteBtn {
    width:34px;height:34px;border-radius:50%;
    background:var(--panel);border:1px solid var(--panel-border);
    display:flex;align-items:center;justify-content:center;
    color:var(--cream);cursor:pointer;
  }#jsr-root #jsr-muteBtn svg {width:16px;height:16px;}

  
  /* ---------- Controls ---------- */
  
  #jsr-root #jsr-controls {
    position:absolute;
    left:0;right:0;bottom:0;
    display:flex;
    justify-content:center;
    gap:10px;
    padding:0 14px calc(env(safe-area-inset-bottom,0px) + 14px);
    z-index:5;
  }#jsr-root .ctl-btn {
    flex:1;
    max-width:96px;
    height:60px;
    border-radius:18px;
    background:linear-gradient(180deg,rgba(255,214,102,.18),rgba(255,214,102,.05));
    border:1px solid var(--panel-border);
    color:var(--cream);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:2px;
    backdrop-filter:blur(6px);
    -webkit-user-select:none;
  }#jsr-root .ctl-btn:active, #jsr-root .ctl-btn.pressed {
    background:linear-gradient(180deg,rgba(255,214,102,.5),rgba(255,214,102,.18));
    transform:translateY(1px);
  }#jsr-root .ctl-btn .glyph {font-size:20px;line-height:1;}#jsr-root .ctl-btn .lbl {font-size:10px;opacity:.8;letter-spacing:.04em;}#jsr-root .ctl-btn.spin .glyph {font-size:18px;}

  
  /* ---------- Overlays ---------- */
  
  #jsr-root .overlay {
    position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
    padding:24px;
    z-index:10;
    background:radial-gradient(120% 90% at 50% 20%, rgba(90,47,107,.55), rgba(8,5,14,.86) 70%);
  }#jsr-root .overlay[hidden] {display:none;}#jsr-root .panel {
    width:100%;max-width:380px;
    background:var(--panel);
    border:1px solid var(--panel-border);
    border-radius:22px;
    padding:28px 24px 24px;
    text-align:center;
    backdrop-filter:blur(10px);
    box-shadow:0 20px 50px rgba(0,0,0,.5);
  }#jsr-root .title-eyebrow {font-size:12px;letter-spacing:.28em;color:var(--path);opacity:.85;margin-bottom:6px;}#jsr-root h1.gametitle {
    font-family:'Baloo 2',sans-serif;
    font-size:clamp(28px,9vw,38px);
    margin:0 0 4px;
    line-height:1.15;
    color:var(--cream);
    text-shadow:0 3px 0 var(--wood-dark), 0 8px 18px rgba(0,0,0,.5);
  }#jsr-root .gametitle .accent {color:var(--danger);}#jsr-root .subtitle {font-size:13px;opacity:.75;margin:0 0 20px;}#jsr-root .howto {
    display:flex;justify-content:space-between;gap:8px;
    margin:18px 0 22px;
  }#jsr-root .howto div {flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;opacity:.85;}#jsr-root .howto .icon {
    width:42px;height:42px;border-radius:12px;
    background:rgba(255,255,255,.06);
    border:1px solid var(--panel-border);
    display:flex;align-items:center;justify-content:center;font-size:19px;
  }#jsr-root .bigbtn {
    display:block;width:100%;
    padding:14px 0;
    border-radius:14px;
    border:none;
    background:linear-gradient(180deg,#ffd166,#f2a93b);
    color:#3a2308;
    font-family:'Baloo 2',sans-serif;
    font-size:19px;font-weight:700;letter-spacing:.02em;
    box-shadow:0 6px 0 #a76c1c, 0 10px 20px rgba(0,0,0,.35);
    cursor:pointer;
  }#jsr-root .bigbtn:active {transform:translateY(4px);box-shadow:0 2px 0 #a76c1c;}#jsr-root .best {margin-top:14px;font-size:12px;opacity:.7;}#jsr-root .best b {color:var(--path);font-weight:700;}#jsr-root .go-score {font-size:46px;font-weight:700;font-family:'Baloo 2',sans-serif;color:var(--path);margin:6px 0 2px;}#jsr-root .go-tag {font-size:13px;opacity:.75;margin-bottom:18px;}#jsr-root #jsr-countdown {
    position:absolute;inset:0;z-index:9;
    display:flex;align-items:center;justify-content:center;
    pointer-events:none;
  }#jsr-root #jsr-countdown[hidden] {display:none;}#jsr-root #jsr-countdown span {
    font-family:'Baloo 2',sans-serif;
    font-size:110px;
    color:var(--cream);
    text-shadow:0 6px 24px rgba(0,0,0,.5);
  }#jsr-root #jsr-flash {
    position:absolute;inset:0;
    background:var(--danger);
    opacity:0;
    pointer-events:none;
    z-index:8;
  }#jsr-root #jsr-toast {
    position:absolute;
    top:30%;left:50%;
    transform:translate(-50%,-50%);
    font-family:'Baloo 2',sans-serif;
    font-size:26px;
    color:var(--path);
    text-shadow:0 3px 10px rgba(0,0,0,.5);
    opacity:0;
    pointer-events:none;
    z-index:7;
  }
