:root{--ink:#1a1030;--paper:#fdf3d7;--hot:#ff5d3b;--gold:#ffcf3f;}
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%}
  body{background:#120a24;color:var(--paper);font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;overflow:hidden;-webkit-user-select:none;user-select:none;}
  .wrap{position:relative;width:min(100vw, calc(100dvh * 16 / 9));height:min(100dvh, calc(100vw * 9 / 16));aspect-ratio:16/9;border:3px solid var(--ink);border-radius:10px;box-shadow:0 0 0 3px var(--gold),0 18px 50px rgba(0,0,0,.55);overflow:hidden;background:#000;}
  canvas{display:block;width:100%;height:100%;image-rendering:pixelated}
  .hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-weight:800;letter-spacing:.5px;text-shadow:2px 2px 0 var(--ink);pointer-events:none;font-size:clamp(12px,2.4vw,20px);z-index:5;}
  .hud .chip{background:rgba(26,16,48,.55);padding:4px 12px;border-radius:999px;border:2px solid rgba(255,207,63,.5)}
  .hud .ladles{color:var(--gold)}
  .hud .mute{pointer-events:auto;cursor:pointer;line-height:1}
  .hud .vol{pointer-events:auto;cursor:pointer;width:92px;height:18px;accent-color:var(--gold);background:transparent;vertical-align:middle}
  .rotate{display:none}
  @media (orientation:landscape) and (max-height:520px){
    .wrap{border-width:2px;border-radius:6px;box-shadow:0 0 0 2px var(--gold)}
    .hud{padding:6px 10px;font-size:14px}
    .tbtn{width:54px;height:54px;font-size:22px}
    .hud .vol{width:64px}
    .touch{padding:0 8px 8px}
    .screen{gap:12px;padding:14px}
    .keys{font-size:11px;line-height:1.5}
  }
  @media (orientation:portrait) and (pointer:coarse){
    .rotate{display:flex;position:fixed;inset:0;z-index:60;background:linear-gradient(160deg,#1a0f36,#120a24);color:var(--paper);flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:28px;font-weight:800}
    .rotate .ph{font-size:56px;animation:rot 1.8s ease-in-out infinite}
    .rotate p{max-width:22ch;font-size:18px;line-height:1.4;opacity:.95}
  }
  @keyframes rot{0%,40%{transform:rotate(0)}60%,100%{transform:rotate(90deg)}}
  .screen{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:24px;background:radial-gradient(120% 120% at 50% 20%,rgba(123,63,242,.35),rgba(18,10,36,.92));backdrop-filter:blur(2px);}
  .screen.hide{display:none}
  .logo{font-size:clamp(30px,7vw,64px);font-weight:900;line-height:.92;text-transform:uppercase;letter-spacing:1px;-webkit-text-stroke:2px var(--ink);color:var(--gold);text-shadow:4px 4px 0 var(--hot),8px 8px 0 var(--ink);transform:rotate(-3deg);}
  .logo small{display:block;font-size:.42em;color:var(--paper);-webkit-text-stroke:1px var(--ink);letter-spacing:3px;transform:rotate(1deg)}
  .sub{max-width:38ch;opacity:.95;font-size:clamp(13px,2.6vw,17px);line-height:1.5}
  .btn{cursor:pointer;border:none;background:var(--hot);color:#fff;font-weight:900;font-size:clamp(16px,3.2vw,22px);letter-spacing:1px;text-transform:uppercase;padding:14px 30px;border-radius:12px;box-shadow:0 5px 0 #b02a13,0 10px 20px rgba(0,0,0,.4);transition:transform .05s,box-shadow .05s;}
  .btn:active{transform:translateY(4px);box-shadow:0 1px 0 #b02a13,0 4px 10px rgba(0,0,0,.4)}
  .keys{font-size:13px;opacity:.85;line-height:1.8}
  .keys kbd{background:var(--ink);border:1px solid #4a2f80;border-radius:6px;padding:2px 8px;margin:0 2px;font-family:inherit}
  .big{font-size:clamp(26px,6vw,50px);font-weight:900;color:var(--gold);text-shadow:3px 3px 0 var(--ink);-webkit-text-stroke:1px var(--ink)}
  .touch{position:absolute;inset:auto 0 0 0;z-index:6;display:none;justify-content:space-between;padding:0 12px 12px;pointer-events:none}
  .touch .pad,.touch .jump{pointer-events:auto;display:flex;gap:10px}
  .tbtn{width:64px;height:64px;border-radius:50%;background:rgba(26,16,48,.55);border:3px solid rgba(255,207,63,.6);color:var(--paper);font-size:26px;font-weight:900;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;}
  .tbtn:active{background:var(--hot)}
  .throwbtn{display:none!important}
  .touch.boss .throwbtn{display:flex!important}
  @media (hover:none) and (pointer:coarse){.touch{display:flex}}
