    :root {
        --bg: #0b1220;
        /* dark navy */
        --panel: #121a2b;
        /* input surface */
        --text: #e8eefc;
        /* main text */
        --muted: #9fb1cf;
        /* secondary */
        --accent: #3aa7ff;
        /* primary button */
        --accent-2: #2fd1c9;
        /* gradient mix */
        --ring: #1c2a4a;
        /* ring background */
        --good: #22c55e;
        /* green */
        --warn: #f59e0b;
        /* yellow */
        --bad: #ef4444;
        /* red */
        --radius: 16px;
        --shadow: 0 10px 30px rgba(0, 0, 0, .35);
        --p: 0;
        /* gauge percent 0-100 */
    }

    * {
        box-sizing: border-box
    }

    html,
    body {
        height: 100%;
        /* overflow: hidden; */
    }

    body {
        margin: 0;
        font-family: system-ui, -apple-system, Segoe UI, Roboto, Heebo, "Noto Sans Hebrew", Arial, sans-serif;
        color: var(--text);
        background: radial-gradient(1100px 700px at 75% -180px, #182540 0%, transparent 70%), var(--bg);
    }

    /* header */
    header {
        position: sticky;
        top: 0;
        z-index: 20;
        backdrop-filter: saturate(120%) blur(8px);
        background: linear-gradient(180deg, rgba(13, 20, 35, .85), rgba(13, 20, 35, .6));
        border-bottom: 1px solid rgba(255, 255, 255, .06);
    }

    .nav {
        max-width: 980px;
        margin: 0 auto;
        padding: 10px 16px;
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .brand {
        font-weight: 800;
        letter-spacing: .3px
    }

    .links {
        display: flex;
        gap: 18px
    }

    .links a {
        color: var(--text);
        text-decoration: none;
        font-size: .98rem;
        opacity: .9
    }

    .links a:hover {
        opacity: 1
    }

    /* hero */
    .wrap {
        min-height: calc(100dvh - 140px);
        display: grid;
        place-items: center;
        padding: 24px
    }

    .card {
        width: min(860px, 92vw);
        text-align: center
    }

    h1 {
        margin: 8px 0 10px;
        font-size: clamp(32px, 6vw, 54px);
        line-height: 1.15
    }

    .sub {
        margin: 0 0 26px;
        color: var(--muted);
        font-size: clamp(16px, 2.2vw, 20px)
    }

    .input-row {
        display: flex;
        gap: 12px;
        align-items: stretch;
        justify-content: center
    }

    @media (max-width: 640px) {
        .input-row {
            flex-direction: column
        }
    }

    .input {
        flex: 1;
        min-width: 260px;
        max-width: 560px;
        background: var(--panel);
        border: 1px solid rgba(255, 255, 255, .08);
        border-radius: var(--radius);
        padding: 14px 16px;
        font-size: 18px;
        color: var(--text);
        outline: none;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .02);
    }

    .input::placeholder {
        color: #8aa1c2
    }

    .btn {
        appearance: none;
        cursor: pointer;
        border: none;
        padding: 14px 22px;
        font-weight: 800;
        font-size: 16px;
        letter-spacing: .3px;
        color: #07131a;
        border-radius: var(--radius);
        background: linear-gradient(135deg, var(--accent), var(--accent-2));
        box-shadow: 0 8px 18px rgba(58, 167, 255, .35);
        transition: transform .06s ease, box-shadow .2s ease, opacity .2s ease;
    }

    .btn:hover {
        transform: translateY(-1px)
    }

    .btn:active {
        transform: translateY(1px)
    }

    .btn[disabled] {
        opacity: .6;
        cursor: not-allowed
    }

    .note {
        margin-top: 20px;
        color: var(--muted);
        font-size: 8pt
    }

    /* results */
    .results {
        display: none;
        max-width: 980px;
        margin: 28px auto;
        padding: 0 16px
    }

    .results.show {
        display: block
    }

    .panel {
        background: rgba(255, 255, 255, .03);
        border: 1px solid rgba(255, 255, 255, .08);
        border-radius: 18px;
        padding: 18px
    }

    .results-grid {
        display: grid;
        grid-template-columns: 240px 1fr;
        gap: 18px
    }

    @media (max-width: 720px) {
        .results-grid {
            grid-template-columns: 1fr
        }
    }

    h2 {
        margin: 0 0 10px
    }

    /* gauge */
    .gauge-wrap {
        display: grid;
        place-items: center
    }

    .ring {
        width: 200px;
        height: 200px;
        border-radius: 50%;
        position: relative;
        background:
            conic-gradient(var(--bad) 0deg,
                var(--bad) calc(120deg * min(var(--p), 33) / 33),
                var(--warn) calc(120deg * min(var(--p), 33) / 33),
                var(--warn) calc(240deg * min(var(--p), 66) / 66),
                var(--good) calc(240deg * min(var(--p), 66) / 66));
        mask: radial-gradient(circle at 50% 50%, transparent 74px, #000 75px);
        box-shadow: inset 0 0 25px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .06);
        transition: background 1s ease;
        transform: rotate(-120deg);
        /* start from left */
    }

    .ring::after {
        content: "";
        position: absolute;
        inset: 16px;
        border-radius: 50%;
        background: var(--ring);
        opacity: .6
    }

    .pct {
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        transform: rotate(120deg)
    }

    .pct span {
        font-weight: 900;
        font-size: 2rem
    }

    .explain {
        color: var(--muted);
        margin-top: 6px
    }

    /* upsell */
    .upsell {
        margin-top: 18px
    }

    .upsell .panel {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 16px;
        align-items: center
    }

    @media (max-width: 720px) {
        .upsell .panel {
            grid-template-columns: 1fr
        }
    }

    .cta {
        display: flex;
        gap: 10px;
        align-items: center
    }

    .cta .btn {
        white-space: nowrap
    }

    /* footer */
    footer {
        margin-top: 36px;
        padding: 18px 16px 32px;
        color: #8aa1c2;
        font-size: .92rem;
        border-top: 1px solid rgba(255, 255, 255, .06)
    }

    .foot-wrap {
        max-width: 980px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        gap: 10px;
        flex-wrap: wrap
    }

    /* .visually-hidden{position:absolute; left:-9999px} */
    .visually-hidden {
        visibility: hidden;
    }

    .gauge {
        display: grid;
        place-items: center;
        gap: 8px
    }

    .circular-chart {
        display: block;
        max-width: 180px;
        max-height: 180px;
        margin: auto
    }

    .circle-bg {
        fill: none;
        stroke: #344563;
        stroke-width: 3.8;
        opacity: .5
    }

    .circle {
        fill: none;
        stroke-width: 2.8;
        stroke-linecap: round;
        stroke: #2fd1c9;
        transition: stroke-dasharray 900ms ease
    }

    .percentage {
        fill: #e8eefc;
        font-size: 0.55em;
        font-weight: 800;
        text-anchor: middle
    }

    .gauge-label {
        color: #e8eefc;
        font-size: .95rem
    }

    /* מרכזת את סקשן התוצאות ומצמצמת לרוחב נוח */
    .results {
        max-width: 1100px;
        margin: 28px auto;
        padding: 0 16px;
    }

    .results .panel {
        max-width: 820px;
        margin: 0 auto;
    }

    /* גריד מאוזן יותר: עיגול + תוכן */
    .results-grid {
        display: grid;
        grid-template-columns: 220px 1fr;
        gap: 20px;
        align-items: start;
    }

    /* במובייל/טבלט – טור אחד ומרכז */
    @media (max-width: 900px) {
        .results .panel {
            max-width: 720px;
        }

        .results-grid {
            grid-template-columns: 1fr;
            justify-items: center;
            text-align: center;
        }

        .gauge-label,
        .explain,
        .note {
            text-align: right;
        }
    }

    /* מסתיר את ההרוא כשיש תוצאה */
    .has-result .wrap {
        display: none;
    }

    .idea-echo {
        margin: 8px 0 10px;
        color: #cdd7ea;
    }

    .idea-echo .label {
        color: #9fb1cf;
        font-weight: 700;
        margin-left: 6px;
    }

    @media (max-width:900px) {
        .idea-echo {
            text-align: center;
        }
    }

    .article {
        margin: 3% 27%;
    }

    .article h1 {
        text-align: center;
    }

/* רקע סורק */
.step-loader {
  position: relative;
  overflow: hidden;
  margin:14px auto 0;
  max-width:520px;
  padding:20px 12px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}

/* שכבת shimmer */
.step-loader::before {
  content:"";
  position:absolute;
  top:0; left:-50%;
  width:50%;
  height:100%;
  background: linear-gradient(120deg,
    transparent 0%,
    rgba(255,255,255,0.15) 50%,
    transparent 100%);
  animation: shimmer 2.5s infinite;
  z-index:0;
}

@keyframes shimmer {
  0%   { left:-50%; }
  100% { left:100%; }
}

/* מביאים את התוכן לקדמת הבמה */
.step-loader .step-label,
.step-loader .step-track {
  position:relative;
  z-index:1;
}


/* שהתוכן ישב מעל הפולסים */
.step-loader .step-label,
.step-loader .step-track {
  position: relative;
  z-index: 1;
}


    .step-label {
        color: #e8eefc;
        font-weight: 700;
        font-size: .98rem;
        text-align: center;
        margin-bottom: 8px;
    }

    .step-track {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 8px;
        align-items: center;
    }

    .step {
        position: relative;
        height: 8px;
        border-radius: 10px;
        background: rgba(255, 255, 255, .08);
        overflow: hidden;
    }

    .step::after {
        content: "";
        position: absolute;
        inset: 0;
        transform: scaleX(0);
        transform-origin: right;
        background: linear-gradient(90deg, #2fd1c9, #3aa7ff);
        box-shadow: 0 0 12px rgba(58, 167, 255, .35);
        border-radius: inherit;
    }

    .step.is-active::after {
        animation: fill 1.2s ease forwards;
    }

    .step.is-done::after {
        transform: scaleX(1);
    }

    @keyframes fill {
        from {
            transform: scaleX(0);
        }

        to {
            transform: scaleX(1);
        }
    }

