.v34-replays{
    width:min(1180px,calc(100% - 32px));
    margin:38px auto 170px;
}

.v34-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:17px;
}

.v34-head h2{
    margin:0;
    font-size:clamp(36px,5vw,58px);
    letter-spacing:-.06em;
}

.v34-head p{
    margin:6px 0 0;
    color:#77716b;
}

.v34-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.v34-card{
    min-height:230px;
    padding:21px;
    border-radius:29px;
    border:1px solid rgba(20,18,16,.08);
    background:white;
    display:flex;
    flex-direction:column;
    transition:
        transform .16s ease,
        box-shadow .16s ease;
}

.v34-card:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 55px rgba(30,25,21,.10);
}

.v34-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.v34-ready{
    padding:6px 9px;
    border-radius:999px;
    background:#dce9dd;
    color:#326b44;
    font-size:9px;
    font-weight:900;
}

.v34-date{
    color:#9a958e;
    font-size:9px;
}

.v34-card h3{
    margin:26px 0 6px;
    font-size:24px;
    letter-spacing:-.045em;
}

.v34-card-sub{
    color:#77716b;
    font-size:11px;
}

.v34-card-actions{
    margin-top:auto;
    padding-top:20px;
    display:flex;
    gap:8px;
}

.v34-card-actions button{
    min-height:43px;
    padding:0 14px;
    border:0;
    border-radius:15px;
    cursor:pointer;
    font-weight:800;
}

.v34-play-show{
    background:#171614;
    color:white;
}

.v34-open-show{
    background:#efede8;
    color:#211e1b;
}

.v34-empty{
    grid-column:1/-1;
    padding:28px;
    border-radius:28px;
    background:white;
    border:1px solid rgba(20,18,16,.08);
    color:#77716b;
}


/* ==========================================================
   FULL REPLAY PLAYER
   ========================================================== */

.v34-player{
    position:fixed;
    inset:0;
    z-index:1550;

    display:none;

    align-items:flex-end;
    justify-content:center;

    padding:18px;

    background:
        rgba(18,15,14,.35);

    backdrop-filter:
        blur(16px);
}

.v34-player.open{
    display:flex;
}

.v34-panel{
    width:min(930px,100%);
    max-height:90vh;
    overflow:auto;

    border-radius:36px;

    background:#171513;
    color:white;

    padding:26px;

    box-shadow:
        0 40px 130px
        rgba(20,16,14,.42);
}

.v34-panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.v34-kicker{
    color:#d9a53c;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
}

.v34-panel h2{
    margin:7px 0 4px;

    font-size:
        clamp(30px,5vw,49px);

    letter-spacing:-.055em;
}

.v34-panel-meta{
    color:#aaa39d;
    font-size:11px;
}

.v34-close{
    width:43px;
    height:43px;

    border:0;
    border-radius:16px;

    background:rgba(255,255,255,.09);
    color:white;

    cursor:pointer;
}


/* ==========================================================
   PLAYER CORE
   ========================================================== */

.v34-audio-core{
    margin-top:28px;

    padding:20px;

    border-radius:27px;

    background:#24211e;
}

.v34-controls{
    display:grid;

    grid-template-columns:
        auto
        auto
        auto
        minmax(0,1fr)
        auto;

    align-items:center;

    gap:9px;
}

.v34-controls button{
    width:47px;
    height:47px;

    border:0;
    border-radius:17px;

    background:
        rgba(255,255,255,.08);

    color:white;

    cursor:pointer;
}

.v34-main-play{
    width:58px !important;
    height:58px !important;

    background:white !important;
    color:#171513 !important;

    font-size:17px;
}

.v34-time{
    min-width:110px;

    text-align:right;

    color:#aaa39d;

    font-size:10px;
}


/* ==========================================================
   REAL PLAYBACK BAR
   ========================================================== */

.v34-track{
    position:relative;

    height:62px;

    margin-top:17px;

    cursor:pointer;
}

.v34-wave{
    position:absolute;
    inset:0;

    display:grid;

    grid-template-columns:
        repeat(60,1fr);

    align-items:center;

    gap:2px;

    pointer-events:none;
}

.v34-wave i{
    height:10px;
    border-radius:999px;

    background:
        rgba(255,255,255,.14);
}

.v34-wave i:nth-child(3n){
    height:25px;
}

.v34-wave i:nth-child(4n){
    height:17px;
}

.v34-wave i:nth-child(7n){
    height:35px;
}

.v34-progress{
    position:absolute;

    left:0;
    top:50%;

    height:3px;

    width:0;

    transform:
        translateY(-50%);

    background:#df5d49;

    pointer-events:none;
}

.v34-playhead{
    position:absolute;

    top:50%;
    left:0;

    width:13px;
    height:13px;

    transform:
        translate(-50%,-50%);

    border-radius:50%;

    background:white;

    pointer-events:none;
}


/* ==========================================================
   MOMENT TIMELINE
   ========================================================== */

.v34-timeline{
    margin-top:25px;
}

.v34-timeline-title{
    font-size:16px;
    font-weight:850;
}

.v34-timeline-sub{
    margin-top:4px;
    color:#aaa39d;
    font-size:10px;
}

.v34-moments{
    margin-top:13px;

    display:grid;
    gap:7px;
}

.v34-moment{
    display:grid;

    grid-template-columns:
        56px
        minmax(0,1fr)
        auto;

    align-items:center;

    gap:10px;

    padding:12px;

    border-radius:18px;

    background:
        rgba(255,255,255,.055);

    cursor:pointer;

    transition:
        background .14s ease;
}

.v34-moment:hover{
    background:
        rgba(255,255,255,.10);
}

.v34-moment-time{
    color:#d9a53c;
    font-size:10px;
    font-weight:900;
}

.v34-moment strong{
    display:block;
    font-size:11px;
}

.v34-moment p{
    margin:3px 0 0;
    color:#a9a29d;
    font-size:9px;
}

.v34-moment-jump{
    color:#d7d1cd;
    font-size:10px;
}


/* ==========================================================
   MINI CONTINUE PLAYER
   ========================================================== */

.v34-mini{
    position:fixed;

    left:18px;
    bottom:108px;

    z-index:1010;

    width:min(360px,calc(100vw - 36px));

    display:none;

    grid-template-columns:
        41px
        minmax(0,1fr)
        auto;

    align-items:center;

    gap:10px;

    padding:8px;

    border-radius:19px;

    background:#171513;
    color:white;

    box-shadow:
        0 20px 55px
        rgba(28,23,20,.28);
}

.v34-mini.visible{
    display:grid;
}

.v34-mini button{
    width:41px;
    height:41px;

    border:0;
    border-radius:14px;

    background:white;
    color:#171513;

    cursor:pointer;
}

.v34-mini-copy{
    min-width:0;
}

.v34-mini-copy strong,
.v34-mini-copy span{
    display:block;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.v34-mini-copy strong{
    font-size:10px;
}

.v34-mini-copy span{
    margin-top:3px;
    color:#aaa39d;
    font-size:8px;
}

.v34-mini-open{
    color:#aaa39d;
    font-size:17px;
    cursor:pointer;
}


@media(max-width:760px){

    .v34-grid{
        grid-template-columns:1fr;
    }

    .v34-controls{
        grid-template-columns:
            auto auto auto 1fr;
    }

    .v34-time{
        grid-column:1/-1;
        min-width:0;
        text-align:left;
    }
}

@media(max-width:520px){

    .v34-panel{
        padding:18px;
        border-radius:28px;
    }

    .v34-moment{
        grid-template-columns:
            50px
            minmax(0,1fr);
    }

    .v34-moment-jump{
        display:none;
    }
}
