/* WD Fitness Full Replacement CSS
   Replace: wdfitness.org/assets/css/style.css
*/

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: #f6f5fb;
    color: #151527;
}

a {
    color: #5b35d5;
    text-decoration: none;
}

img {
    max-width: 100%;
}

.container {
    width: min(1120px, 92%);
    margin: 0 auto;
}

.site-header {
    background: #fff;
    border-bottom: 1px solid #e7e3f7;
    position: sticky;
    top: 0;
    z-index: 20;
}

.header-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 900;
    color: #151527;
    font-size: 20px;
}

.brand-mark {
    display: inline-flex;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #5b35d5;
    color: #fff;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

nav {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 18px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #5b35d5;
    color: #fff !important;
    border: 0;
    border-radius: 14px;
    padding: 13px 20px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(91, 53, 213, .18);
    font-size: 17px;
}

.btn:hover {
    filter: brightness(.96);
}

.btn-secondary {
    background: #fff;
    color: #5b35d5 !important;
    border: 1px solid #d9d0fb;
    box-shadow: none;
}

.btn-small {
    padding: 9px 14px;
    border-radius: 12px;
}

.btn-full {
    width: 100%;
}

.hero {
    padding: 70px 0;
    background: linear-gradient(135deg, #fff 0%, #f0ecff 100%);
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 34px;
    align-items: center;
}

.pill {
    display: inline-flex;
    background: #eee9ff;
    color: #5b35d5;
    border: 1px solid #d9d0fb;
    border-radius: 999px;
    padding: 8px 12px;
    font-weight: 900;
    font-size: 14px;
}

h1 {
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.02;
    margin: 18px 0 14px;
    letter-spacing: .02em;
}

h2 {
    font-size: 30px;
    margin: 25px 0 16px;
}

h3 {
    margin: 0 0 10px;
}

p {
    line-height: 1.55;
}

.lead {
    font-size: 20px;
    line-height: 1.55;
    color: #45445f;
}

.hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.mock-card,
.card,
.form-card,
.price-card,
.exercise-card {
    background: #fff;
    border: 1px solid #e7e3f7;
    border-radius: 26px;
    box-shadow: 0 18px 45px rgba(42, 30, 94, .08);
    padding: 28px;
}

.mock-top {
    font-weight: 900;
    color: #5b35d5;
    margin-bottom: 16px;
}

.avatar-placeholder {
    width: 170px;
    height: 170px;
    border-radius: 40px;
    background: linear-gradient(135deg, #5b35d5, #24b47e);
    color: #fff;
    font-weight: 900;
    font-size: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 22px;
}

.section {
    padding: 48px 0;
}

.narrow {
    max-width: 760px;
}

.cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.cards .metric {
    min-height: 150px;
}

.profile-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.exercise-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.template-list {
    display: grid;
    gap: 18px;
}

.card p,
.card li,
.exercise-card p,
.exercise-card li {
    color: #55546b;
    line-height: 1.5;
}

.price-card {
    text-align: center;
}

.price-card h1 {
    font-size: 58px;
}

.check-list {
    text-align: left;
    display: inline-block;
    line-height: 2;
    font-size: 17px;
}

.form-card form {
    display: grid;
    gap: 18px;
}

label {
    display: grid;
    gap: 7px;
    font-weight: 900;
}

input,
select,
textarea {
    width: 100%;
    border: 1px solid #d9d4eb;
    border-radius: 13px;
    padding: 13px 14px;
    font-size: 16px;
    background: #fff;
}

textarea {
    resize: vertical;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.form-grid.two {
    grid-template-columns: repeat(2, 1fr);
}

.form-grid.three {
    grid-template-columns: repeat(3, 1fr);
}

.check-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.check-card {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    border: 1px solid #e2ddf4;
    border-radius: 16px;
    padding: 12px;
    background: #fbfaff;
    font-weight: 700;
}

.check-card input {
    width: auto;
    margin-top: 3px;
}

.filter-bar {
    background: #fff;
    border: 1px solid #e7e3f7;
    border-radius: 22px;
    padding: 18px;
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 14px;
    align-items: end;
}

.flash {
    padding: 14px 16px;
    border-radius: 14px;
    margin: 0 0 18px;
    font-weight: 700;
}

.flash-error {
    background: #ffe9e9;
    color: #9d1c1c;
}

.flash-success {
    background: #e9fff2;
    color: #166437;
}

.flash-warning {
    background: #fff6da;
    color: #7a5600;
}

.flash-info {
    background: #eef3ff;
    color: #1d3e8a;
}

.dash-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.warning-card {
    border-color: #ffd66e;
    background: #fffaf0;
}

.metric span {
    display: block;
    font-size: 34px;
    line-height: 1.1;
    font-weight: 900;
    color: #5b35d5;
    word-break: break-word;
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    text-align: left;
    border-bottom: 1px solid #eee;
    padding: 12px 10px;
    vertical-align: top;
}

th {
    font-size: 13px;
    text-transform: uppercase;
    color: #65617a;
}

.mt {
    margin-top: 18px;
}

.small-note {
    font-size: 14px;
    color: #666;
}

.photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.photo-card {
    border: 1px solid #e7e3f7;
    border-radius: 18px;
    padding: 12px;
    background: #fbfaff;
}

.photo-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 14px;
    background: #eee;
}

details {
    margin-top: 12px;
    border-top: 1px solid #eee;
    padding-top: 12px;
}

summary {
    font-weight: 900;
    color: #5b35d5;
    cursor: pointer;
}

.site-footer {
    background: #151527;
    color: #fff;
    margin-top: 60px;
    padding: 28px 0;
}

.footer-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.footer-links {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.footer-links a {
    color: #fff;
}

/* Workout check-in */
.exercise-checkin-list {
    display: grid;
    gap: 10px;
}

.exercise-checkin-row {
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid #e7e3f7;
    border-radius: 16px;
    background: #fbfaff;
}

.exercise-checkin-row small {
    display: block;
    color: #666;
}

.flag-card {
    border: 1px solid #e7e3f7;
    border-radius: 18px;
    padding: 16px;
    background: #fbfaff;
    margin: 12px 0;
}

.flag-title {
    display: flex;
    gap: 10px;
    align-items: center;
    font-weight: 900;
}

.flag-title input {
    width: auto;
}

/* WD Fitness Visual Workout Player */
.wdf-player-shell {
    background: #fff;
    border: 1px solid #e7e3f7;
    border-radius: 30px;
    box-shadow: 0 18px 45px rgba(42, 30, 94, .08);
    padding: 28px;
}

.wdf-player-main {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 28px;
    align-items: start;
}

.wdf-player-left h2 {
    font-size: 42px;
    margin: 18px 0 8px;
}

.wdf-target {
    font-size: 20px;
    color: #33334d;
}

.wdf-prescription {
    display: inline-flex;
    background: #f1edff;
    color: #5b35d5;
    border: 1px solid #d9d0fb;
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 900;
    margin: 8px 0 18px;
}

.wdf-demo-stage {
    min-height: 420px;
    background: linear-gradient(180deg, #ffffff 0%, #f1edff 100%);
    border: 1px solid #e2ddf4;
    border-radius: 28px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 18px 0;
}

.wdf-floor-line {
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 68px;
    height: 5px;
    background: #d8d0f6;
    border-radius: 99px;
}

.wdf-demo-label {
    position: absolute;
    left: 22px;
    bottom: 20px;
    background: #151527;
    color: #fff;
    padding: 10px 14px;
    border-radius: 14px;
    font-weight: 900;
}

.wdf-avatar {
    position: relative;
    width: 230px;
    height: 330px;
    transform-origin: center bottom;
}

.wdf-head {
    position: absolute;
    left: 85px;
    top: 8px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: #151527;
}

.wdf-torso {
    position: absolute;
    left: 65px;
    top: 78px;
    width: 100px;
    height: 135px;
    border-radius: 44px 44px 30px 30px;
    background: #5b35d5;
}

.wdf-arm {
    position: absolute;
    top: 100px;
    width: 38px;
    height: 125px;
    background: #24b47e;
    border-radius: 99px;
    transform-origin: top center;
}

.wdf-arm-left {
    left: 42px;
    transform: rotate(18deg);
}

.wdf-arm-right {
    right: 42px;
    transform: rotate(-18deg);
}

.wdf-leg {
    position: absolute;
    top: 200px;
    width: 42px;
    height: 125px;
    background: #151527;
    border-radius: 99px;
    transform-origin: top center;
}

.wdf-leg-left {
    left: 74px;
}

.wdf-leg-right {
    right: 74px;
}

.wdf-muscle-glow {
    position: absolute;
    z-index: 5;
    opacity: .92;
    box-shadow: 0 0 28px rgba(255, 151, 32, .75);
    animation: wdfPulse 1s infinite ease-in-out;
}

.wdf-highlight-core {
    left: 86px;
    top: 125px;
    width: 58px;
    height: 56px;
    border-radius: 18px;
    background: #ff9b20;
}

.wdf-highlight-chest {
    left: 76px;
    top: 90px;
    width: 78px;
    height: 45px;
    border-radius: 22px;
    background: #ff9b20;
}

.wdf-highlight-legs {
    left: 70px;
    top: 215px;
    width: 92px;
    height: 96px;
    border-radius: 28px;
    background: #ff9b20;
}

.wdf-highlight-glutes {
    left: 72px;
    top: 178px;
    width: 88px;
    height: 50px;
    border-radius: 24px;
    background: #ff9b20;
}

.wdf-highlight-arms {
    left: 37px;
    top: 105px;
    width: 157px;
    height: 70px;
    border-radius: 26px;
    background: rgba(255, 155, 32, .85);
}

.wdf-highlight-back {
    left: 78px;
    top: 100px;
    width: 74px;
    height: 100px;
    border-radius: 26px;
    background: #ff9b20;
}

.wdf-highlight-full {
    left: 55px;
    top: 88px;
    width: 120px;
    height: 190px;
    border-radius: 44px;
    background: rgba(255, 155, 32, .72);
}

.wdf-motion-step .wdf-leg-left {
    animation: wdfStepLegLeft .8s infinite alternate ease-in-out;
}

.wdf-motion-step .wdf-leg-right {
    animation: wdfStepLegRight .8s infinite alternate ease-in-out;
}

.wdf-motion-step .wdf-arm-left {
    animation: wdfStepArmLeft .8s infinite alternate ease-in-out;
}

.wdf-motion-step .wdf-arm-right {
    animation: wdfStepArmRight .8s infinite alternate ease-in-out;
}

.wdf-motion-squat {
    animation: wdfSquat 1.2s infinite ease-in-out;
}

.wdf-motion-push {
    animation: wdfPush .9s infinite ease-in-out;
}

.wdf-motion-core {
    animation: wdfCore 1s infinite ease-in-out;
}

.wdf-motion-bridge {
    animation: wdfBridge 1.1s infinite ease-in-out;
}

.wdf-motion-stretch {
    animation: wdfStretch 1.4s infinite ease-in-out;
}

.wdf-motion-punch .wdf-arm-left {
    animation: wdfPunchLeft .7s infinite alternate ease-in-out;
}

.wdf-motion-punch .wdf-arm-right {
    animation: wdfPunchRight .7s infinite alternate ease-in-out;
}

.wdf-motion-rest {
    opacity: .82;
    transform: scale(.95);
}

.wdf-avatar-notes {
    background: #fbfaff;
    border: 1px solid #e7e3f7;
    border-radius: 22px;
    padding: 18px;
}

.wdf-player-right {
    display: grid;
    gap: 18px;
}

.wdf-timer-card {
    background: #151527;
    color: #fff;
    border-radius: 28px;
    padding: 28px;
    text-align: center;
    box-shadow: 0 18px 45px rgba(21, 21, 39, .18);
}

.wdf-timer-label {
    display: inline-flex;
    background: #5b35d5;
    padding: 8px 14px;
    border-radius: 999px;
    font-weight: 900;
    margin-bottom: 10px;
}

.wdf-timer-number {
    font-size: 96px;
    line-height: 1;
    font-weight: 900;
    margin: 12px 0 4px;
}

.wdf-timer-sub {
    color: #d6d1ee;
    font-weight: 800;
}

.wdf-progress-bar {
    height: 16px;
    border-radius: 999px;
    background: #332f52;
    overflow: hidden;
    margin-top: 22px;
}

.wdf-progress-bar div {
    height: 100%;
    width: 0;
    background: #24b47e;
    transition: width .25s;
}

.wdf-instruction-card,
.wdf-count-card {
    background: #fff;
    border: 1px solid #e7e3f7;
    border-radius: 22px;
    padding: 20px;
}

.wdf-coach-cue {
    color: #5b35d5;
    font-weight: 900;
}

.wdf-player-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.wdf-count-card {
    font-weight: 900;
    text-align: center;
    color: #55546b;
}

@keyframes wdfPulse {
    0%, 100% { opacity: .65; transform: scale(.96); }
    50% { opacity: 1; transform: scale(1.04); }
}

@keyframes wdfStepLegLeft {
    0% { transform: rotate(-8deg); }
    100% { transform: rotate(20deg) translateY(-8px); }
}

@keyframes wdfStepLegRight {
    0% { transform: rotate(18deg) translateY(-8px); }
    100% { transform: rotate(-8deg); }
}

@keyframes wdfStepArmLeft {
    0% { transform: rotate(30deg); }
    100% { transform: rotate(-30deg); }
}

@keyframes wdfStepArmRight {
    0% { transform: rotate(-30deg); }
    100% { transform: rotate(30deg); }
}

@keyframes wdfSquat {
    0%, 100% { transform: translateY(0) scaleY(1); }
    50% { transform: translateY(45px) scaleY(.94); }
}

@keyframes wdfPush {
    0%, 100% { transform: translateX(0) rotate(-4deg); }
    50% { transform: translateX(35px) rotate(6deg); }
}

@keyframes wdfCore {
    0%, 100% { transform: rotate(-3deg) scale(1); }
    50% { transform: rotate(4deg) scale(.96); }
}

@keyframes wdfBridge {
    0%, 100% { transform: translateY(20px) rotate(90deg); }
    50% { transform: translateY(-5px) rotate(90deg); }
}

@keyframes wdfStretch {
    0%, 100% { transform: rotate(-6deg); }
    50% { transform: rotate(10deg) translateX(12px); }
}

@keyframes wdfPunchLeft {
    0% { transform: rotate(18deg); }
    100% { transform: rotate(88deg) translateY(-20px); }
}

@keyframes wdfPunchRight {
    0% { transform: rotate(-18deg); }
    100% { transform: rotate(-88deg) translateY(-20px); }
}

/* Mobile */
@media (max-width: 1000px) {
    .exercise-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .wdf-player-main {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .hero-grid,
    .cards,
    .profile-grid,
    .form-grid,
    .form-grid.two,
    .form-grid.three,
    .check-grid,
    .photo-grid,
    .exercise-grid,
    .filter-bar {
        grid-template-columns: 1fr;
    }

    .header-inner {
        height: auto;
        padding: 14px 0;
        align-items: flex-start;
        flex-direction: column;
    }

    nav {
        gap: 10px;
    }

    h1 {
        font-size: 38px;
    }

    .dash-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .exercise-checkin-row {
        grid-template-columns: 1fr;
    }

    .wdf-demo-stage {
        min-height: 340px;
    }

    .wdf-player-left h2 {
        font-size: 32px;
    }

    .wdf-timer-number {
        font-size: 72px;
    }

    .wdf-player-controls {
        grid-template-columns: 1fr;
    }
}
/* WD Fitness Human SVG Avatar Fix */
.wdf-human-stage{
    min-height:520px;
    background:linear-gradient(180deg,#fff 0%,#f1edff 100%);
    border:1px solid #e2ddf4;
    border-radius:28px;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:18px 0;
}
.wdf-human-floor{
    position:absolute;
    left:8%;
    right:8%;
    bottom:82px;
    height:5px;
    background:#d8d0f6;
    border-radius:99px;
}
.wdf-human-avatar{
    width:min(360px,80%);
    height:auto;
    overflow:visible;
}
.wdf-human-avatar .skin,
.wdf-human-avatar .head,
.wdf-human-avatar .neck,
.wdf-human-avatar .hand{
    fill:url(#skinGradient);
    stroke:#9d6848;
    stroke-width:2;
}
.wdf-human-avatar .hair{
    fill:#151527;
}
.wdf-human-avatar .face-line{
    fill:none;
    stroke:#6c402a;
    stroke-width:3;
    stroke-linecap:round;
}
.wdf-human-avatar .torso{
    fill:url(#shirtGradient);
    stroke:#2f1f91;
    stroke-width:2;
}
.wdf-human-avatar .shorts{
    fill:#1c1b31;
    stroke:#10101d;
    stroke-width:2;
}
.wdf-human-avatar .shoe{
    fill:#151527;
}
.wdf-human-avatar .human-shadow{
    fill:rgba(21,21,39,.16);
}
.wdf-human-avatar .human-arm,
.wdf-human-avatar .human-leg,
.wdf-human-avatar .human-body{
    transform-box:fill-box;
    transform-origin:center;
}
.wdf-human-avatar .human-arm-left{transform-origin:80px 118px}
.wdf-human-avatar .human-arm-right{transform-origin:180px 118px}
.wdf-human-avatar .human-leg-left{transform-origin:112px 252px}
.wdf-human-avatar .human-leg-right{transform-origin:148px 252px}
.wdf-human-avatar .muscle-highlight ellipse{
    display:none;
    fill:url(#muscleGlowGradient);
    animation:wdfHumanPulse 1s infinite ease-in-out;
    pointer-events:none;
}
.wdf-human-avatar.highlight-core-on .highlight-core{display:block}
.wdf-human-avatar.highlight-chest-on .highlight-chest{display:block}
.wdf-human-avatar.highlight-arms-on .highlight-arms-left,
.wdf-human-avatar.highlight-arms-on .highlight-arms-right{display:block}
.wdf-human-avatar.highlight-legs-on .highlight-legs-left,
.wdf-human-avatar.highlight-legs-on .highlight-legs-right{display:block}
.wdf-human-avatar.highlight-glutes-on .highlight-glutes{display:block}
.wdf-human-avatar.highlight-back-on .highlight-back{display:block}
.wdf-human-avatar.highlight-full-on .highlight-full{display:block}
.wdf-human-march .human-body{animation:wdfHumanBodyBounce .75s infinite alternate ease-in-out}
.wdf-human-march .human-leg-left{animation:wdfHumanLegForward .75s infinite alternate ease-in-out}
.wdf-human-march .human-leg-right{animation:wdfHumanLegBack .75s infinite alternate ease-in-out}
.wdf-human-march .human-arm-left{animation:wdfHumanArmBack .75s infinite alternate ease-in-out}
.wdf-human-march .human-arm-right{animation:wdfHumanArmForward .75s infinite alternate ease-in-out}
.wdf-human-jack .human-arm-left{animation:wdfHumanJackLeftArm .85s infinite alternate ease-in-out}
.wdf-human-jack .human-arm-right{animation:wdfHumanJackRightArm .85s infinite alternate ease-in-out}
.wdf-human-jack .human-leg-left{animation:wdfHumanJackLeftLeg .85s infinite alternate ease-in-out}
.wdf-human-jack .human-leg-right{animation:wdfHumanJackRightLeg .85s infinite alternate ease-in-out}
.wdf-human-squat .human-body{animation:wdfHumanSquat 1.1s infinite ease-in-out}
.wdf-human-punch .human-arm-left{animation:wdfHumanPunchLeft .7s infinite alternate ease-in-out}
.wdf-human-punch .human-arm-right{animation:wdfHumanPunchRight .7s infinite alternate ease-in-out}
.wdf-human-push .human-body{animation:wdfHumanPush 1s infinite ease-in-out}
.wdf-human-core .human-body{animation:wdfHumanCore 1s infinite ease-in-out}
.wdf-human-bridge .human-body{animation:wdfHumanBridge 1.1s infinite ease-in-out}
.wdf-human-stretch .human-body{animation:wdfHumanStretch 1.3s infinite ease-in-out}
.wdf-human-rest{opacity:.78; transform:scale(.96)}
@keyframes wdfHumanPulse{0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:.95;transform:scale(1.05)}}
@keyframes wdfHumanBodyBounce{0%{transform:translateY(0)}100%{transform:translateY(-9px)}}
@keyframes wdfHumanLegForward{0%{transform:rotate(-7deg)}100%{transform:rotate(17deg) translateY(-8px)}}
@keyframes wdfHumanLegBack{0%{transform:rotate(16deg) translateY(-8px)}100%{transform:rotate(-7deg)}}
@keyframes wdfHumanArmForward{0%{transform:rotate(-18deg)}100%{transform:rotate(32deg)}}
@keyframes wdfHumanArmBack{0%{transform:rotate(18deg)}100%{transform:rotate(-32deg)}}
@keyframes wdfHumanSquat{0%,100%{transform:translateY(0)}50%{transform:translateY(48px) scaleY(.95)}}
@keyframes wdfHumanPunchLeft{0%{transform:rotate(5deg)}100%{transform:rotate(-58deg) translateY(-34px)}}
@keyframes wdfHumanPunchRight{0%{transform:rotate(-5deg)}100%{transform:rotate(58deg) translateY(-34px)}}
@keyframes wdfHumanPush{0%,100%{transform:translateX(0) rotate(-2deg)}50%{transform:translateX(28px) rotate(5deg)}}
@keyframes wdfHumanCore{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(5deg) scale(.98)}}
@keyframes wdfHumanBridge{0%,100%{transform:rotate(85deg) translateY(15px)}50%{transform:rotate(85deg) translateY(-15px)}}
@keyframes wdfHumanStretch{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(10deg) translateX(12px)}}
@keyframes wdfHumanJackLeftArm{0%{transform:rotate(15deg)}100%{transform:rotate(-120deg) translateY(-25px)}}
@keyframes wdfHumanJackRightArm{0%{transform:rotate(-15deg)}100%{transform:rotate(120deg) translateY(-25px)}}
@keyframes wdfHumanJackLeftLeg{0%{transform:rotate(0)}100%{transform:rotate(-18deg) translateX(-12px)}}
@keyframes wdfHumanJackRightLeg{0%{transform:rotate(0)}100%{transform:rotate(18deg) translateX(12px)}}
@media(max-width:900px){
    .wdf-human-stage{min-height:420px}
    .wdf-human-avatar{width:min(300px,90%)}
}
/* Phase 7 Progress Dashboard */
.progress-score-badge{
    display:inline-flex;
    background:#eee9ff;
    color:#5b35d5;
    border:1px solid #d9d0fb;
    border-radius:999px;
    padding:8px 12px;
    font-weight:900;
}
.photo-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:14px;
    background:#eee;
}
