.mini-game-modal.mini3d-modal .mini-game-board.mini3d-board {
  position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0;
  margin: 0; padding: 0; overflow: hidden; background: #bfdef0; border: 0; border-radius: 0;
}
.mini3d-stage { position: absolute; inset: 0; }
.mini-game-modal.mini3d-modal .mini-game-board.mini3d-board::after { display: none; }
.mini3d-stage canvas { display: block; width: 100%; height: 100%; touch-action: none; }
.mini3d-modal .mini-game-feedback { display: none !important; }
.mini3d-modal .mini-game-progress { z-index: 20; }
.mini3d-modal .mini3d-clue {
  position: absolute; z-index: 8; top: 72px; left: 50%; transform: translateX(-50%);
  width: max-content; max-width: min(540px,calc(100% - 28px)); box-sizing: border-box;
  padding: 10px 20px; border: 1px solid #e7aecf; border-radius: 20px;
  color: #67304e; background: #fffaf2f2; box-shadow: 0 5px 22px #663d6520;
  text-align: center; font: 600 18px/1.3 Georgia,serif;
}
.mini3d-clue small {display:block; font:600 12px/1.4 system-ui; color:#90627d; margin-top:4px;}
.mini3d-controls { position:absolute; inset: auto 18px 16px; display:flex; align-items:flex-end; justify-content:space-between; z-index:9; pointer-events:none; }
.mini3d-controls button, .mini3d-outcome button, .mini3d-promise {
  pointer-events:auto; touch-action:none; cursor:pointer; min-width:52px; min-height:52px;
  padding:12px 18px; border:2px solid #eac4da; border-bottom:4px solid #cf9dbe;
  border-radius:18px; background:#fffaf2f5; color:#6c2852; font:700 16px/1.2 system-ui;
  box-shadow:0 3px 9px #59365125;
}
.mini3d-controls button:active {transform:translateY(2px);background:#f8dcf0;}
.mini3d-controls button[hidden] {display:none;}
.mini3d-controls button:focus-visible, .mini3d-promise:focus-visible {outline:3px solid #705ec7;outline-offset:3px;}
.mini3d-pad {display:grid;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(2,54px);gap:5px;}
.mini3d-pad button {padding:4px;font-size:24px;}
.mini3d-pad [data-dir=up] {grid-column:2;}
.mini3d-pad [data-dir=left] {grid-column:1;grid-row:2;}
.mini3d-pad [data-dir=down] {grid-column:2;grid-row:2;}
.mini3d-pad [data-dir=right] {grid-column:3;grid-row:2;}
.mini3d-actions {display:flex;gap:10px;align-items:flex-end;}
.mini3d-actions [data-jump] {background:#894570;color:white;border-color:#d7a0c5;min-width:90px;min-height:64px;}
.mini3d-outcome {position:absolute;z-index:25;left:50%;top:45%;transform:translate(-50%,-50%);width:min(330px,80%);padding:26px;background:#fffaf5;border:3px solid #deb7d8;border-radius:26px;text-align:center;box-shadow:0 10px 100px #55385065;color:#683452;font:600 20px/1.4 Georgia,serif;}
.mini3d-outcome[hidden] {display:none;}
.mini3d-wish-label {position:absolute;z-index:5;transform:translate(-50%,-50%);pointer-events:none;padding:4px 13px;border:1px solid #e7ba75;border-radius:20px;background:#fff9dded;color:#7f4562;font:700 17px/1.3 Georgia,serif;}
.mini3d-promise {position:absolute;z-index:12;left:50%;bottom:145px;transform:translateX(-50%);max-width:90%;}
.mini3d-promise[hidden] {display:none;}
.mini3d-modal .mini-reflection-card {z-index:30;}
@media(max-width:600px) {
  .mini3d-modal .mini3d-clue {top:76px;font-size:16px;padding:9px 13px;max-width:calc(100% - 22px);}
  .mini3d-clue small {font-size:11px;}
  .mini3d-controls {left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));}
  .mini3d-actions {flex-direction:column;gap:7px;}
  .mini3d-actions button {font-size:13px;padding:10px 12px;}
  .mini3d-actions [data-jump] {min-height:60px;width:100%;font-size:17px;}
  .mini3d-wish-label {font-size:16px;}
}
