[hidden] { display: none !important; }

/* --- SLIDER --- */
.pmr-slider-wrap { margin: 14px 0 8px 0; }
.pmr-slider {
    -webkit-appearance:none;
    appearance:none;
    width:100%;
    height:6px;
    border-radius:4px;
    background:linear-gradient(90deg,var(--green-1),var(--green-2),var(--purple-1));
    outline:none;
}
.pmr-slider::-webkit-slider-thumb{
    -webkit-appearance:none;
    width:24px;
    height:24px;
    border-radius:50%;
    background:var(--text);
    border:1px solid rgba(234,255,247,0.9);
    box-shadow:0 0 18px rgba(52,211,153,0.65);
    cursor:pointer;
}
.pmr-slider::-moz-range-thumb{
    width:24px;
    height:24px;
    border-radius:50%;
    background:var(--text);
    border:1px solid rgba(234,255,247,0.9);
    box-shadow:0 0 18px rgba(52,211,153,0.65);
    cursor:pointer;
}
.pmr-slider:focus-visible{
    outline:2px solid var(--purple-1);
    outline-offset:6px;
}

.pmr-scale{
    display:flex;
    justify-content:space-between;
    font-size:0.75rem;
    color:var(--muted);
    margin-top:6px;
    letter-spacing:0.5px;
}
.pmr-scale .center{
    color:var(--text);
    font-weight:700;
}

.pmr-big-number{
    font-family:var(--font);
    font-size:4.2rem;
    font-weight:800;
    letter-spacing:-0.02em;
    text-align:center;
    color:var(--text);
    margin:4px 0 10px 0;
    font-variant-numeric:tabular-nums;
    text-shadow:0 0 30px rgba(52,211,153,0.4);
    line-height:1;
}

.pmr-symptoms{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin:16px 0 8px;
}
.pmr-symptoms span{
    font-family:var(--font);
    font-size:0.74rem;
    font-weight:200;
    color:rgba(234,255,247,0.62);
    padding:6px 12px;
    border-radius:20px;
    background:rgba(139,92,246,0.08);
    border:1px solid rgba(167,139,250,0.15);
}

/* --- SESSION --- */
.pmr-session-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    align-items:center;
    margin:0 0 14px 0;
}
@media(max-width:640px){
    .pmr-session-grid{
        grid-template-columns:1fr;
        justify-items:center;
    }
    /* timer panel above the body map so it stays in view */
    .pmr-panel{ order:-1; width:100%; }
}

.body-map{
    width:100%;
    max-width:210px;
    margin:0 auto;
    display:block;
}
.body-outline{
    fill:rgba(10,17,22,0.85);
    stroke:rgba(167,139,250,0.28);
    stroke-width:1;
}
.body-region{
    fill:rgba(234,255,247,0.04);
    stroke:rgba(167,139,250,0.22);
    stroke-width:1;
    transition:fill .4s var(--ease), stroke .4s var(--ease), filter .4s var(--ease);
}
.body-region.active{
    fill:rgba(52,211,153,0.58);
    stroke:var(--text);
    filter:drop-shadow(0 0 12px rgba(52,211,153,0.85));
}
.body-region.active.release{
    fill:rgba(167,139,250,0.48);
    filter:drop-shadow(0 0 14px rgba(167,139,250,0.78));
}

/* Session panel: --phase colours the word, number, bar and border.
   grey = get ready, green = tense, purple = release */
.pmr-panel{
    --phase:var(--muted);
    background:rgba(10,17,22,0.55);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:20px 22px;
    text-align:center;
    transition:border-color .35s var(--ease), box-shadow .35s var(--ease);
}
.pmr-panel[data-phase="tense"]{
    --phase:var(--green-1);
    border-color:var(--phase);
    box-shadow:0 0 24px var(--glow-green);
}
.pmr-panel[data-phase="release"]{
    --phase:var(--purple-1);
    border-color:var(--phase);
    box-shadow:0 0 24px var(--glow-purple);
}

.pmr-phase-word{
    font-family:var(--font);
    font-size:1.7rem;
    font-weight:900;
    letter-spacing:0.14em;
    text-transform:uppercase;
    line-height:1.1;
    color:var(--phase);
    transition:color .35s var(--ease);
}
.pmr-panel .pmr-big-number{
    color:var(--phase);
    text-shadow:0 0 30px var(--phase);
    margin:10px 0 12px;
    transition:color .35s var(--ease);
}
.pmr-timer-track{
    height:6px;
    border-radius:4px;
    background:rgba(234,255,247,0.1);
    overflow:hidden;
    margin-bottom:18px;
}
.pmr-timer-track span{
    display:block;
    width:100%;
    height:100%;
    border-radius:inherit;
    background:var(--phase);
    transition:width .1s linear;
}

.pmr-group-title{
    font-family:var(--font);
    font-size:1.04rem;
    font-weight:700;
    color:var(--text);
    letter-spacing:0.02em;
}
.pmr-group-count{
    font-family:var(--font);
    font-size:0.8rem;
    font-weight:500;
    color:var(--muted);
    margin:4px 0 0;
    font-variant-numeric:tabular-nums;
}
.pmr-instruction{
    font-family:var(--font);
    font-size:0.95rem;
    font-weight:500;
    letter-spacing:-0.005em;
    color:rgba(234,255,247,0.86);
    white-space:pre-line;
    line-height:1.58;
    margin-top:10px;
}

/* --- REFLECT --- */
.pmr .stage-instruction{ text-align:center; }

.pmr-center{ text-align:center; }
.pmr-center .tool-btn{ min-width:180px; }

.brCompare{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:24px;
}
.brBox{
    background:rgba(10,17,22,0.55);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:var(--radius-md);
    padding:18px 16px;
    width:120px;
    text-align:center;
}
.brBoxLabel{
    font-size:0.75rem;
    font-weight:600;
    color:rgba(255,255,255,0.55);
    text-transform:uppercase;
    letter-spacing:1.5px;
    margin-bottom:6px;
}
.brBoxValue{
    font-size:2.4rem;
    font-weight:700;
    color:rgba(255,255,255,0.9);
    margin-bottom:6px;
}
.brBoxIcon{
    font-size:2.2rem;
    margin-bottom:6px;
}
.brBoxText{
    font-size:0.85rem;
    color:rgba(255,255,255,0.75);
    line-height:1.4;
}