body.asuka{background:#000 !important;}
.asuka-bg{display:none;}

.quest-wrap{
  max-width:560px;margin:18px auto;padding:10px;color:#fff;
  font-family:'Courier New','Hiragino Maru Gothic ProN',monospace;
}
.quest-h1{
  text-align:center;color:#ffd700;font-size:28px;margin:10px 0;
  text-shadow:2px 2px 0 #b0008b,4px 4px 0 #000;
  letter-spacing:.1em;
}
.quest-stage{
  position:relative;background:#000;border:4px solid #ffd700;
  border-radius:6px;overflow:hidden;
  box-shadow:0 0 20px rgba(255,215,0,.3);
}
.quest-stage, .quest-stage *{-webkit-tap-highlight-color:transparent;}
#questCanvas{
  display:block;width:100%;height:auto;
  image-rendering:pixelated;image-rendering:crisp-edges;
  touch-action:none;-webkit-tap-highlight-color:transparent;
}

/* モバイル仮想パッド */
.quest-pad{
  display:none;justify-content:space-between;align-items:center;
  margin-top:14px;padding:0 8px;
}
.quest-pad .dpad{
  display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,52px);gap:4px;
  touch-action:none;
}
.quest-pad .dpad button{
  background:#222;color:#fff;border:3px solid #888;border-radius:10px;
  font-size:22px;touch-action:none;font-family:inherit;cursor:pointer;
  -webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;
}
.quest-pad .dpad .ul   {grid-column:1;grid-row:1;background:#1a1a1a;font-size:16px;}
.quest-pad .dpad .up   {grid-column:2;grid-row:1;}
.quest-pad .dpad .ur   {grid-column:3;grid-row:1;background:#1a1a1a;font-size:16px;}
.quest-pad .dpad .left {grid-column:1;grid-row:2;}
.quest-pad .dpad .right{grid-column:3;grid-row:2;}
.quest-pad .dpad .dl   {grid-column:1;grid-row:3;background:#1a1a1a;font-size:16px;}
.quest-pad .dpad .down {grid-column:2;grid-row:3;}
.quest-pad .dpad .dr   {grid-column:3;grid-row:3;background:#1a1a1a;font-size:16px;}
.quest-pad .actions{display:flex;flex-direction:column;align-items:center;gap:12px;}
.quest-pad .atk{
  width:80px;height:80px;border-radius:50%;
  background:#ff0066;color:#fff;
  border:5px solid #fff;font-size:24px;font-weight:900;
  touch-action:none;font-family:inherit;cursor:pointer;
  box-shadow:0 0 20px #ff0066;
  -webkit-tap-highlight-color:transparent;
}
.quest-pad .ult{
  width:80px;height:80px;border-radius:50%;
  background:#ffd700;color:#8b0000;
  border:5px solid #fff;font-size:18px;font-weight:900;
  touch-action:none;font-family:inherit;cursor:pointer;
  box-shadow:0 0 25px #ffd700;
  -webkit-tap-highlight-color:transparent;
  letter-spacing:1px;
}
@media (pointer:coarse), (max-width:700px){
  .quest-pad{display:flex;}
}

.quest-help{
  font-size:12px;color:#aaa;text-align:center;
  margin-top:14px;line-height:1.7;
}
.quest-help b{color:#ffd700;}

/* GAMEOVER 感想フォーム */
.quest-over{
  position:absolute;left:0;right:0;top:0;bottom:0;
  background:rgba(0,0,0,.86);color:#fff;
  display:none;align-items:center;justify-content:center;
  z-index:200;font-family:inherit;padding:10px;
}
.quest-over.show{display:flex;}
.quest-over .box{
  background:#111;border:4px solid #ffd700;border-radius:14px;
  padding:22px 24px;max-width:440px;width:100%;
  box-shadow:0 0 30px rgba(255,215,0,.35);
  max-height:90%;overflow-y:auto;
}
.quest-over h2{margin:0 0 4px;font-size:26px;color:#ff1744;letter-spacing:2px;text-align:center;}
.quest-over h3{margin:14px 0 8px;font-size:14px;color:#ffd700;letter-spacing:1px;border-bottom:1px dashed #ffd700;padding-bottom:4px;}
.quest-over label{display:block;margin:6px 0;font-size:13px;cursor:pointer;color:#eee;}
.quest-over label input{margin-right:8px;transform:scale(1.2);}
.quest-over .actions{display:flex;gap:10px;margin-top:14px;justify-content:center;flex-wrap:wrap;}
.quest-over button{
  background:#ffd700;color:#111;border:3px solid #111;border-radius:30px;
  padding:10px 20px;font-weight:bold;font-size:13px;cursor:pointer;font-family:inherit;
  box-shadow:3px 3px 0 #000;
}
.quest-over button.secondary{background:#555;color:#fff;border-color:#fff;}
.quest-over .results{margin-top:10px;}
.quest-over .row{font-size:12px;margin:6px 0;}
.quest-over .row .label{color:#ddd;}
.quest-over .row .cnt{color:#ffd700;font-weight:bold;float:right;}
.quest-over .bar{background:#333;height:6px;border-radius:3px;margin-top:2px;overflow:hidden;}
.quest-over .bar .fill{height:100%;background:linear-gradient(90deg,#ff1493,#ffd700);transition:width .6s;}
.quest-over .thanks{text-align:center;color:#ffd700;font-size:13px;margin:10px 0;}
.quest-over .total{text-align:right;color:#888;font-size:11px;margin-top:8px;}
