#replay-modal{
      display:none;position:fixed;inset:0;
      background:rgba(0,0,0,.62);z-index:800;
      align-items:center;justify-content:center;padding:16px;
    }
    #replay-modal.open{display:flex;}
    #replay-box{
      background:#fff;border-radius:24px;
      padding:24px 20px 20px;width:100%;max-width:480px;
      max-height:90vh;overflow-y:auto;
      animation:popIn .35s cubic-bezier(.34,1.56,.64,1);
    }
    @keyframes popIn{from{transform:scale(.6);opacity:0;}to{transform:scale(1);opacity:1;}}
    #replay-box h2{font-size:1.2rem;color:#5b8dee;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
    #replay-sessions{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;max-height:165px;overflow-y:auto;}
    .session-item{
      display:flex;justify-content:space-between;align-items:center;
      background:#f5f5f5;border-radius:10px;padding:8px 12px;
      font-size:.82rem;cursor:pointer;border:2px solid transparent;
      transition:border-color .15s,background .15s;
    }
    .session-item:hover{background:#eef4ff;}
    .session-item.active{border-color:#5b8dee;background:#eef4ff;}
    .session-item .si-id{color:#aaa;font-size:.7rem;}
    .session-item .si-moves{color:#5b8dee;font-weight:bold;}
    /* プログレス */
    #replay-progress-wrap{margin:10px 0 4px;}
    #replay-scrubber{
      width:100%;height:6px;-webkit-appearance:none;appearance:none;
      background:#ddd;border-radius:4px;cursor:pointer;outline:none;
    }
    #replay-scrubber::-webkit-slider-thumb{
      -webkit-appearance:none;width:18px;height:18px;
      background:#5b8dee;border-radius:50%;box-shadow:0 2px 6px rgba(91,141,238,.5);
    }
    #replay-time{display:flex;justify-content:space-between;font-size:.74rem;color:#aaa;margin-top:3px;}
    #replay-controls{display:flex;gap:7px;justify-content:center;margin:10px 0;flex-wrap:wrap;}
    .rc-btn{
      padding:8px 18px;border-radius:20px;border:none;
      font-family:inherit;font-size:.86rem;cursor:pointer;font-weight:bold;transition:.15s;
    }
    .rc-btn:active{transform:scale(.95);}
    #rp-play {background:#5b8dee;color:#fff;}
    #rp-pause{background:#f0c040;color:#4a3f30;display:none;}
    #rp-stop {background:#eee;color:#555;}
    #rp-speed{background:#eee;color:#555;}
    #replay-log{
      max-height:150px;overflow-y:auto;background:#f8f8f8;
      border-radius:10px;padding:8px 10px;font-size:.74rem;color:#555;
      font-family:'Courier New',monospace;margin-top:8px;
    }
    .rlog-line{padding:1.5px 0;border-bottom:1px solid #eee;}
    .rlog-line.ev-correct{color:#388e3c;}
    .rlog-line.ev-wrong  {color:#d32f2f;}
    .rlog-line.ev-clear  {color:#1565c0;font-weight:bold;}
    .rlog-line.ev-comment{color:#f57c00;}
    .rlog-line.ev-input  {color:#999;}
    #replay-close{width:100%;margin-top:12px;padding:10px;background:#eee;color:#555;border:none;border-radius:20px;font-family:inherit;font-size:.9rem;cursor:pointer;font-weight:bold;}
