*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;}
body{overflow:hidden;background:#ffe4ec;font-family:'Rounded Mplus 1c','Hiragino Maru Gothic Pro','BIZ UDPGothic',sans-serif;}
#titleScreen{position:fixed;inset:0;z-index:100;background:linear-gradient(135deg,#fff0f5,#ffe4ec,#ffd6e7);
  display:flex;flex-direction:column;align-items:center;justify-content:center;}
.titleNav{position:absolute;top:12px;left:12px;display:flex;gap:8px;flex-wrap:wrap;z-index:2;}
.titleNavBtn{display:inline-block;padding:8px 12px;border-radius:999px;border:2px solid #ffb6d3;background:rgba(255,255,255,.72);color:#e74c8b;text-decoration:none;font-weight:700;font-size:clamp(12px,2vw,15px);font-family:inherit;line-height:1.2;cursor:pointer;box-shadow:0 3px 10px rgba(231,76,139,.16);}
.titleNavBtn:hover{background:#fff;transform:translateY(-1px);}
#titleScreen h1{font-size:clamp(22px,5vw,46px);color:#e74c8b;text-shadow:2px 2px 0 #fff;margin-bottom:8px;text-align:center;line-height:1.4;}
.sub{font-size:clamp(13px,2.5vw,20px);color:#c44a7a;margin-bottom:8px;}
.soundHint{font-size:clamp(11px,2vw,15px);color:#e74c8b;margin-bottom:16px;background:rgba(255,255,255,.62);border:2px solid #ffb6d3;border-radius:999px;padding:6px 13px;}
.btn{padding:14px 44px;font-size:clamp(16px,3vw,24px);border:none;border-radius:50px;
  background:linear-gradient(135deg,#ff6b9d,#e74c8b);color:#fff;cursor:pointer;
  box-shadow:0 6px 20px rgba(231,76,139,.4);transition:.2s;font-family:inherit;}
.btn:hover{transform:translateY(-2px) scale(1.04);}
.btn:active{transform:scale(.96);}
#gameScreen{display:none;position:fixed;inset:0;}
canvas{display:block;}
#resultScreen{position:fixed;inset:0;z-index:100;display:none;background:rgba(0,0,0,.45);align-items:center;justify-content:center;}
#resultBox{background:#fff0f5;border-radius:28px;padding:36px 44px;text-align:center;
  box-shadow:0 10px 60px rgba(231,76,139,.35);border:4px solid #ffb6d3;max-width:90vw;}
#resultBox h2{font-size:clamp(22px,4vw,36px);color:#e74c8b;margin-bottom:8px;}
#resultBox .sc{font-size:clamp(28px,6vw,52px);color:#c44a7a;font-weight:bold;margin:8px 0;}
#resultBox .rk{font-size:clamp(16px,3vw,22px);color:#e74c8b;margin-bottom:16px;}
#resultBox .dt{font-size:clamp(12px,2vw,15px);color:#b05a7a;margin-bottom:18px;line-height:1.8;}
.kt{font-size:clamp(60px,14vw,120px);line-height:1;margin-bottom:8px;}
.dw{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;justify-content:center;}
.db{padding:9px 20px;border-radius:28px;border:3px solid #ffb6d3;background:#fff;color:#e74c8b;
  font-size:clamp(13px,2vw,17px);cursor:pointer;font-family:inherit;transition:.2s;}
.db.on{background:#e74c8b;color:#fff;border-color:#e74c8b;}
.db:hover{transform:scale(1.06);}
.ins{font-size:clamp(11px,1.7vw,14px);color:#c44a7a;margin-bottom:16px;line-height:1.7;
  max-width:500px;text-align:left;background:rgba(255,255,255,.6);padding:12px 16px;border-radius:14px;}
