/* ==========================================================================
   HYROX Calculator Polish — Structural Flattening Pass
   --------------------------------------------------------------------------
   Goal: kill "boxes inside boxes inside boxes." Only TWO visible cards per
   calculator: the form panel (.hx-calc-form) and the result panel
   (.hx-results-section). Everything inside flows as typography + spacing
   + 1px dividers. Page-level outer sections also flow flat.

   Loaded LAST in the enqueue chain so this file always wins.
   No template edits required.
   ========================================================================== */


/* ==========================================================================
   1. CALCULATOR LAYOUT — outer wrapper stays a 2-column grid, no chrome
   ========================================================================== */

.entry-content .hx-app .hx-calculator-section {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: var(--hx-sp-6, 1.5rem) 0;
    margin: var(--hx-sp-6, 1.5rem) 0;
}


/* ==========================================================================
   2. BLANKET FLATTEN — kill all card chrome on inner sub-blocks
   --------------------------------------------------------------------------
   These elements currently render as visually distinct boxes (border,
   background, shadow, radius). Strip the chrome so they read as flat
   sub-sections of the parent card.
   ========================================================================== */

.entry-content .hx-app .hx-calculator-section :is(
    .hx-result-hero,
    .hx-nutrition-phase,
    .hx-stat-card,
    .hx-stat-inline,
    .hx-alert,
    .hx-form-row,
    .hx-form-section,
    .hx-form-group,
    .hx-form-header,
    .hx-form-body,
    .hx-faq-item,
    .hx-timeline-item,
    .hx-info-block,
    .hx-table-wrap,
    .hx-cohort-drawer,
    .hx-percentile-badge
) {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Remove the dark gradient/decorative bar on result-hero — it becomes plain text */
.entry-content .hx-app .hx-calculator-section .hx-result-hero::before,
.entry-content .hx-app .hx-calculator-section .hx-result-hero::after {
    display: none !important;
    content: none !important;
}


/* ==========================================================================
   3. THE TWO REAL CARDS — re-add chrome only here
   --------------------------------------------------------------------------
   .hx-calc-form  — the form panel (left)
   .hx-results-section — the result panel (right, only when results exist)
   ========================================================================== */

.entry-content .hx-app .hx-calc-form,
.entry-content .hx-app .hx-results-section {
    background: var(--hx-surface, #FFFFFF) !important;
    border: 1px solid var(--hx-border, #E5E5E5) !important;
    border-radius: var(--hx-radius-lg, 14px) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    padding: clamp(1.25rem, 3vw, 2rem) !important;
}

/* Form body has no extra padding — the card already pads */
.entry-content .hx-app .hx-calc-form .hx-form-body { padding: 0 !important; }


/* ==========================================================================
   4. TYPOGRAPHY-FIRST IN-CARD HIERARCHY
   ========================================================================== */

/* Form header — heading + subtitle, no card */
.entry-content .hx-app .hx-calc-form .hx-form-header {
    padding: 0 0 1.25rem !important;
    margin: 0 0 1.25rem !important;
    border-bottom: 1px solid var(--hx-border, #E5E5E5) !important;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.entry-content .hx-app .hx-calc-form .hx-form-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--hx-primary, #FF4500);
    margin-bottom: 0.25rem;
}

.entry-content .hx-app .hx-calc-form .hx-form-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--hx-text, #1A1A2E);
    margin: 0;
    line-height: 1.25;
}

.entry-content .hx-app .hx-calc-form .hx-form-subtitle {
    font-size: 0.9375rem;
    color: var(--hx-text-secondary, #5A6577);
    margin: 0;
    line-height: 1.5;
}

/* Section titles inside cards (Pre-Race Nutrition, How to Read Your Score, etc.) */
.entry-content .hx-app .hx-calculator-section .hx-section-title {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--hx-text, #1A1A2E);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 0.875rem !important;
    padding: 0 !important;
    border: 0 !important;
}


/* ==========================================================================
   5. FORM ROWS — flat, just spacing
   ========================================================================== */

.entry-content .hx-app .hx-calc-form .hx-form-group,
.entry-content .hx-app .hx-calc-form .hx-form-section {
    padding: 0 !important;
    margin: 0 0 1.25rem !important;
    display: flex;
    flex-direction: column;
    gap: 0.4375rem;
}

.entry-content .hx-app .hx-calc-form .hx-form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 1rem;
    margin: 0 0 1.25rem !important;
    padding: 0 !important;
}

.entry-content .hx-app .hx-calc-form .hx-form-row-2col {
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 540px) {
    .entry-content .hx-app .hx-calc-form .hx-form-row-2col {
        grid-template-columns: 1fr;
    }
}

.entry-content .hx-app .hx-calc-form .hx-form-row .hx-form-group,
.entry-content .hx-app .hx-calc-form .hx-form-row .hx-form-section {
    margin-bottom: 0 !important;
}

.entry-content .hx-app .hx-calc-form .hx-field-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 0;
}

.entry-content .hx-app .hx-calc-form .hx-help-text {
    font-size: 0.8125rem;
    color: var(--hx-text-muted, #6C757D);
    margin: 0 0 0.25rem;
    line-height: 1.4;
}

.entry-content .hx-app .hx-calc-form .hx-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--hx-text, #1A1A2E);
    margin: 0;
}


/* ==========================================================================
   6. FIELD SHELLS — keep input borders (they're FIELDS not boxes), kill
      the wrapping double-shell chrome that creates a card around inputs
   ========================================================================== */

/* The shell wrapper used to look like a card — flatten it to a transparent layout box */
.entry-content .hx-app .hx-calc-form .hx-field-shell,
.entry-content .hx-app .hx-calc-form .hx-time-inputs {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Inputs themselves keep their own border — that's a FIELD, not a card */
.entry-content .hx-app .hx-calc-form .hx-input-wrapper {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    position: relative;
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
}


/* ==========================================================================
   7. SEGMENTED / RADIO / CHIP GROUPS — interactive buttons keep visible
      chrome (they MUST look clickable) but lose any card-like wrapping
   ========================================================================== */

.entry-content .hx-app .hx-calc-form .hx-segmented,
.entry-content .hx-app .hx-calc-form .hx-radio-group,
.entry-content .hx-app .hx-calc-form .hx-toggle-group,
.entry-content .hx-app .hx-calc-form .hx-checkbox-group,
.entry-content .hx-app .hx-calc-form .hx-chip-group {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}


/* ==========================================================================
   8. RESULT HERO — typography-first, no dark card
   ========================================================================== */

.entry-content .hx-app .hx-results-section .hx-result-hero {
    text-align: left;
    padding: 0 0 1.5rem !important;
    margin: 0 0 1.5rem !important;
    border-bottom: 1px solid var(--hx-border, #E5E5E5) !important;
    color: var(--hx-text, #1A1A2E) !important;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    background: transparent !important;
}

.entry-content .hx-app .hx-results-section .hx-result-hero .hx-result-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--hx-text-muted, #6C757D) !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0;
}

.entry-content .hx-app .hx-results-section .hx-result-hero .hx-result-value,
.entry-content .hx-app .hx-results-section .hx-result-hero .hx-result-value-xl {
    font-size: clamp(2.25rem, 6vw, 3.25rem);
    font-weight: 800;
    color: var(--hx-text, #1A1A2E) !important;
    line-height: 1;
    letter-spacing: -0.02em;
    margin: 0;
}

.entry-content .hx-app .hx-results-section .hx-result-hero .hx-result-sub {
    font-size: 0.9375rem;
    color: var(--hx-text-secondary, #5A6577) !important;
    margin: 0;
}

.entry-content .hx-app .hx-results-section .hx-result-hero .hx-percentile-badge {
    margin-top: 0.5rem;
    padding: 0 !important;
}


/* ==========================================================================
   9. STATS GRID — number + label pairs, no boxes
   ========================================================================== */

.entry-content .hx-app .hx-results-section .hx-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1.25rem 1.5rem;
    margin: 0 0 1.5rem !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.entry-content .hx-app .hx-results-section .hx-stat-card {
    display: flex;
    flex-direction: column;
    gap: 0.1875rem;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.entry-content .hx-app .hx-results-section .hx-stat-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--hx-text-muted, #6C757D);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0;
}

.entry-content .hx-app .hx-results-section .hx-stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--hx-text, #1A1A2E);
    line-height: 1.1;
    margin: 0;
}

.entry-content .hx-app .hx-results-section .hx-stat-note {
    font-size: 0.75rem;
    color: var(--hx-text-muted, #6C757D);
    margin: 0;
}

/* Inline stat (single full-width row) */
.entry-content .hx-app .hx-results-section .hx-stat-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 0.875rem;
    padding: 0.875rem 0 !important;
    margin: 0 0 1.25rem !important;
    border-top: 1px solid var(--hx-border, #E5E5E5) !important;
    border-bottom: 1px solid var(--hx-border, #E5E5E5) !important;
}


/* ==========================================================================
   10. NUTRITION PHASES — flat sections separated by dividers
   ========================================================================== */

.entry-content .hx-app .hx-results-section .hx-nutrition-phase {
    padding: 1.5rem 0 0 !important;
    margin: 1.5rem 0 0 !important;
    border-top: 1px solid var(--hx-border, #E5E5E5) !important;
}

/* First phase has no top border (the result-hero already has a bottom border) */
.entry-content .hx-app .hx-results-section .hx-result-hero + .hx-nutrition-phase {
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-top: 0 !important;
}


/* ==========================================================================
   11. TIMELINE — simple left-marker list, no boxes
   ========================================================================== */

.entry-content .hx-app .hx-results-section .hx-timeline {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.entry-content .hx-app .hx-results-section .hx-timeline-item {
    display: grid;
    grid-template-columns: 14px 1fr;
    gap: 0.75rem;
    align-items: start;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.entry-content .hx-app .hx-results-section .hx-timeline-marker {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--hx-primary, #FF4500);
    margin-top: 0.5rem;
    flex-shrink: 0;
}

.entry-content .hx-app .hx-results-section .hx-timeline-marker-water { background: #2B8FD3; }
.entry-content .hx-app .hx-results-section .hx-timeline-marker-warn  { background: #D97706; }
.entry-content .hx-app .hx-results-section .hx-timeline-marker-active { background: var(--hx-primary, #FF4500); box-shadow: 0 0 0 3px rgba(255, 69, 0, 0.15); }

.entry-content .hx-app .hx-results-section .hx-timeline-content {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.entry-content .hx-app .hx-results-section .hx-timeline-time {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--hx-text, #1A1A2E);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.entry-content .hx-app .hx-results-section .hx-timeline-food {
    font-size: 0.9375rem;
    color: var(--hx-text-secondary, #5A6577);
    margin: 0;
    line-height: 1.55;
}

.entry-content .hx-app .hx-results-section .hx-timeline-details ul,
.entry-content .hx-app .hx-results-section .hx-list-compact {
    margin: 0.25rem 0 0;
    padding-left: 1.125rem;
    color: var(--hx-text-secondary, #5A6577);
    font-size: 0.875rem;
}


/* ==========================================================================
   12. ALERTS — slim left-accent strip, not a full box
   ========================================================================== */

.entry-content .hx-app .hx-calculator-section .hx-alert {
    background: transparent !important;
    border: 0 !important;
    border-left: 3px solid var(--hx-border-strong, #D0D5DD) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0.5rem 0 0.5rem 0.875rem !important;
    margin: 0.75rem 0 !important;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--hx-text, #1A1A2E);
}

.entry-content .hx-app .hx-calculator-section .hx-alert-info {
    border-left-color: #2B8FD3 !important;
    color: #1F4E79;
}

.entry-content .hx-app .hx-calculator-section .hx-alert-danger {
    border-left-color: #DC2626 !important;
    color: #991B1B;
}

.entry-content .hx-app .hx-calculator-section .hx-alert-success {
    border-left-color: #10B981 !important;
    color: #065F46;
}

.entry-content .hx-app .hx-calculator-section .hx-alert-warning {
    border-left-color: #F59E0B !important;
    color: #92400E;
}


/* ==========================================================================
   13. INFO BLOCK + COHORT DRAWER + TIER LEGEND — flat sections
   ========================================================================== */

.entry-content .hx-app .hx-results-section .hx-info-block {
    padding: 1.5rem 0 0 !important;
    margin: 1.5rem 0 0 !important;
    border-top: 1px solid var(--hx-border, #E5E5E5) !important;
    background: transparent !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.entry-content .hx-app .hx-results-section .hx-tier-legend {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
}

.entry-content .hx-app .hx-results-section .hx-tier-row {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.875rem;
    color: var(--hx-text-secondary, #5A6577);
}

.entry-content .hx-app .hx-results-section .hx-cohort-drawer {
    padding: 1rem 0 0 !important;
    margin: 1rem 0 0 !important;
    border-top: 1px dashed var(--hx-border, #E5E5E5) !important;
}

.entry-content .hx-app .hx-results-section .hx-cohort-drawer-toggle {
    background: transparent !important;
    border: 0 !important;
    padding: 0.25rem 0 !important;
    color: var(--hx-primary, #FF4500);
    font-weight: 600;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ==========================================================================
   14. TABLE WRAP — kill any chrome, keep horizontal scroll
   ========================================================================== */

.entry-content .hx-app .hx-results-section .hx-table-wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 1.5rem 0 0 !important;
    overflow-x: auto;
}

.entry-content .hx-app .hx-results-section .hx-table-wrap .hx-section-title {
    margin-bottom: 0.75rem !important;
}


/* ==========================================================================
   15. PAGE-LEVEL SECTIONS OUTSIDE THE CALCULATOR — flat document flow
   --------------------------------------------------------------------------
   .hx-content-section : SEO copy blocks
   .hx-cta-section     : full-bleed dark CTA band (kept dark — it IS the
                         visual punctuation between flat content; just kill
                         the radius on small screens to feel band-like)
   .hx-faq-section     : container only; items become flat rows
   ========================================================================== */

.entry-content .hx-app .hx-content-section {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    margin: 2.5rem 0;
}

/* CTA: keep the dark band — it's intentional contrast — but no double border */
.entry-content .hx-app .hx-cta-section {
    border: 0 !important;
    box-shadow: none !important;
}

/* FAQ section — container only, no card */
.entry-content .hx-app .hx-faq-section {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 3rem 0 2rem !important;
}

.entry-content .hx-app .hx-faq-section .hx-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--hx-text, #1A1A2E);
    margin: 0 0 1.25rem !important;
    text-transform: none;
    letter-spacing: normal;
}

.entry-content .hx-app .hx-faq-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid var(--hx-border, #E5E5E5);
}

.entry-content .hx-app .hx-faq-item {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--hx-border, #E5E5E5) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.entry-content .hx-app .hx-faq-question {
    background: transparent !important;
    padding: 1rem 0 !important;
    font-weight: 600;
    color: var(--hx-text, #1A1A2E);
}

.entry-content .hx-app .hx-faq-question:hover {
    background: transparent !important;
    color: var(--hx-primary, #FF4500);
}

.entry-content .hx-app .hx-faq-answer {
    padding: 0 0 1rem !important;
    color: var(--hx-text-secondary, #5A6577);
    line-height: 1.65;
}


/* ==========================================================================
   16. CTA CARDS INSIDE CTA SECTION — keep clickable chrome but slimmer
   --------------------------------------------------------------------------
   These ARE clickable cards (they link to other tools) so they stay as
   cards, but the dark CTA band already provides the surface contrast.
   ========================================================================== */

.entry-content .hx-app .hx-cta-section .hx-cta-card {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: var(--hx-radius-md, 12px) !important;
    box-shadow: none !important;
    padding: 1.125rem 1.25rem !important;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.entry-content .hx-app .hx-cta-section .hx-cta-card:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(232, 255, 0, 0.4) !important;
    transform: translateY(-1px);
}


/* ==========================================================================
   17. RESPONSIVE — calculator layout collapses cleanly
   ========================================================================== */

@media (max-width: 900px) {
    .entry-content .hx-app .hx-calc-form,
    .entry-content .hx-app .hx-results-section {
        padding: 1.25rem !important;
        border-radius: 12px !important;
    }
}

@media (max-width: 540px) {
    .entry-content .hx-app .hx-calc-form,
    .entry-content .hx-app .hx-results-section {
        padding: 1rem !important;
    }

    .entry-content .hx-app .hx-results-section .hx-result-hero .hx-result-value,
    .entry-content .hx-app .hx-results-section .hx-result-hero .hx-result-value-xl {
        font-size: 2rem;
    }

    .entry-content .hx-app .hx-results-section .hx-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
}


/* ==========================================================================
   18. SAFEGUARDS — make sure interactive things stay interactive
   --------------------------------------------------------------------------
   The blanket flatten in section 2 used :is() with broad selectors. These
   rules re-assert that things the user MUST be able to see and click stay
   visible.
   ========================================================================== */

/* Inputs always have a visible field border */
.entry-content .hx-app .hx-calc-form .hx-input,
.entry-content .hx-app .hx-calc-form .hx-select {
    background: var(--hx-surface, #FFFFFF) !important;
    border: 1px solid var(--hx-border-strong, #D0D5DD) !important;
    box-shadow: none;
}

.entry-content .hx-app .hx-calc-form .hx-input:focus,
.entry-content .hx-app .hx-calc-form .hx-select:focus {
    border-color: var(--hx-primary, #FF4500) !important;
    box-shadow: 0 0 0 3px rgba(255, 69, 0, 0.12) !important;
    outline: none;
}

/* Submit button always has full chrome (handled by .hx-btn-primary base) */
.entry-content .hx-app .hx-calc-form .hx-btn-primary {
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

/* ==========================================================================
   19. FINISH TIME PREDICTOR — purpose-built calculator composition
   --------------------------------------------------------------------------
   This page is the lead calculator. Give it a deliberate two-panel product
   layout instead of the generic stacked calculator flow.
   ========================================================================== */

.entry-content .hx-app .hx-finish-time-hero.hx-hero-with-bg {
    min-height: 280px;
    isolation: isolate;
}

.entry-content .hx-app .hx-finish-time-hero.hx-hero-with-bg .hx-hero-text {
    max-width: 620px;
}

.entry-content .hx-app .hx-finish-time-hero.hx-hero-with-bg .hx-hero-icon {
    position: absolute;
    right: clamp(1.5rem, 5vw, 4rem);
    top: 50%;
    transform: translateY(-50%);
    width: clamp(96px, 12vw, 150px);
    height: clamp(96px, 12vw, 150px);
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(232, 255, 0, 0.14), rgba(232, 255, 0, 0.03) 58%, transparent 70%);
    color: rgba(232, 255, 0, 0.44);
    pointer-events: none;
}

.entry-content .hx-app .hx-finish-time-hero.hx-hero-with-bg .hx-hero-icon svg {
    width: 72%;
    height: 72%;
}

.entry-content .hx-app .hx-finish-time-calculator {
    margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-calculator-layout {
    max-width: 1180px !important;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: start;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-calc-form,
.entry-content .hx-app .hx-finish-time-calculator .hx-results-section {
    border-radius: 24px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.08) !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-calc-form {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)) !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-form-header {
    position: relative;
    padding-left: 3.5rem !important;
    min-height: 3rem;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-form-icon {
    position: absolute;
    left: 0;
    top: 0;
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px;
    background: rgba(232, 255, 0, 0.32);
    color: #6b7600 !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-form-title {
    font-size: clamp(1.35rem, 2vw, 1.65rem);
    letter-spacing: -0.03em;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-form-section {
    gap: 0.55rem;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-label {
    letter-spacing: -0.01em;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-input,
.entry-content .hx-app .hx-finish-time-calculator .hx-select {
    min-height: 48px;
    border-radius: 14px !important;
    background: #ffffff !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-segmented,
.entry-content .hx-app .hx-finish-time-calculator .hx-radio-group,
.entry-content .hx-app .hx-finish-time-calculator .hx-toggle-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-radio-option,
.entry-content .hx-app .hx-finish-time-calculator .hx-segmented-btn {
    min-height: 48px;
    border-radius: 14px !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-btn-primary {
    min-height: 54px;
    border-radius: 16px;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-results-section {
    position: sticky;
    top: 86px;
    background:
        radial-gradient(circle at top right, rgba(232, 255, 0, 0.22), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-result-hero {
    text-align: center !important;
    align-items: center;
    padding-bottom: 1.75rem !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-result-label,
.entry-content .hx-app .hx-finish-time-calculator .hx-stat-label {
    color: #64748b !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-result-value-xl {
    font-size: clamp(3rem, 7vw, 4.8rem) !important;
    color: #0f172a !important;
    font-variant-numeric: tabular-nums;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-percentile-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 0.45rem 0.8rem !important;
    border-radius: 999px !important;
    background: rgba(232, 255, 0, 0.35) !important;
    color: #3f4900 !important;
    font-size: 0.82rem;
    font-weight: 800;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.75rem !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-stats-grid .hx-stat-card,
.entry-content .hx-app .hx-finish-time-calculator .hx-stat-inline {
    padding: 1rem !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.74) !important;
    align-items: flex-start;
    text-align: left;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-stat-value {
    font-size: clamp(1.35rem, 3vw, 1.85rem);
    font-variant-numeric: tabular-nums;
    color: #111827;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-stat-inline {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    align-items: center;
    margin: 0 0 1.5rem !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-table-wrap {
    margin-top: 1.25rem !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-table th {
    color: #64748b;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-table td,
.entry-content .hx-app .hx-finish-time-calculator .hx-table th {
    text-align: left;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-table td:last-child,
.entry-content .hx-app .hx-finish-time-calculator .hx-table th:last-child {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 980px) {
    .entry-content .hx-app .hx-finish-time-calculator .hx-calculator-layout {
        grid-template-columns: 1fr;
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-results-section {
        position: static;
    }
}

@media (max-width: 640px) {
    .entry-content .hx-app .hx-finish-time-hero.hx-hero-with-bg {
        min-height: auto;
        padding-right: 1.5rem;
    }

    .entry-content .hx-app .hx-finish-time-hero.hx-hero-with-bg .hx-hero-icon {
        position: static;
        transform: none;
        width: 84px;
        height: 84px;
        margin-top: 1rem;
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-stats-grid,
    .entry-content .hx-app .hx-finish-time-calculator .hx-stat-inline {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   20. FINISH TIME PREDICTOR — stronger race command-center pass
   ========================================================================== */

.entry-content .hx-app .hx-finish-time-hero {
    min-height: clamp(300px, 34vw, 430px) !important;
    padding: clamp(1.5rem, 4vw, 3rem) !important;
    border-radius: 28px !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.22);
}

.entry-content .hx-app .hx-finish-time-hero::before {
    background:
        linear-gradient(90deg, rgba(2, 6, 23, 0.92) 0%, rgba(2, 6, 23, 0.68) 42%, rgba(2, 6, 23, 0.28) 100%),
        radial-gradient(circle at 86% 32%, rgba(232, 255, 0, 0.28), transparent 24%) !important;
}

.entry-content .hx-app .hx-finish-time-hero::after {
    content: "";
    position: absolute;
    inset: auto 2rem 1.5rem 2rem;
    height: 1px;
    background: linear-gradient(90deg, rgba(232, 255, 0, 0.9), rgba(232, 255, 0, 0.18), transparent);
    z-index: 1;
}

.entry-content .hx-app .hx-finish-time-hero .hx-hero-text {
    position: relative;
    z-index: 2;
}

.entry-content .hx-app .hx-finish-time-hero .hx-hero-kicker {
    width: fit-content;
    margin-bottom: 0.85rem;
    padding: 0.38rem 0.7rem;
    border: 1px solid rgba(232, 255, 0, 0.36);
    border-radius: 999px;
    background: rgba(232, 255, 0, 0.12);
    color: #e8ff00;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.entry-content .hx-app .hx-finish-time-hero .hx-page-title {
    max-width: none;
    width: 100%;
    font-size: clamp(2.35rem, 5.4vw, 5.4rem) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.075em !important;
    text-wrap: balance;
}

.entry-content .hx-app .hx-finish-time-hero .hx-page-subtitle {
    max-width: 560px;
    margin-top: 1rem !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: clamp(1rem, 1.55vw, 1.2rem) !important;
}

.entry-content .hx-app .hx-finish-time-hero .hx-hero-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.5rem;
}

.entry-content .hx-app .hx-finish-time-hero .hx-hero-metrics span {
    padding: 0.52rem 0.72rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.78rem;
    font-weight: 700;
    backdrop-filter: blur(10px);
}

.entry-content .hx-app .hx-finish-time-hero.hx-hero-with-bg .hx-hero-icon {
    right: clamp(1.25rem, 6vw, 5rem);
    width: clamp(120px, 15vw, 210px);
    height: clamp(120px, 15vw, 210px);
    border: 1px solid rgba(232, 255, 0, 0.18);
    background:
        radial-gradient(circle, rgba(232, 255, 0, 0.18), rgba(232, 255, 0, 0.045) 54%, transparent 70%),
        rgba(2, 6, 23, 0.26);
    box-shadow: inset 0 0 34px rgba(232, 255, 0, 0.06), 0 0 60px rgba(232, 255, 0, 0.12);
}

.entry-content .hx-app .hx-finish-time-calculator {
    position: relative;
    margin-top: clamp(-3.25rem, -4vw, -1.5rem);
    padding-top: 0;
    z-index: 3;
}

.entry-content .hx-app .hx-finish-time-calculator::before {
    content: "";
    position: absolute;
    inset: 2rem -2rem auto -2rem;
    height: 420px;
    border-radius: 999px;
    background:
        radial-gradient(circle at 28% 28%, rgba(232, 255, 0, 0.12), transparent 32%),
        radial-gradient(circle at 72% 18%, rgba(15, 23, 42, 0.08), transparent 28%);
    filter: blur(10px);
    z-index: -1;
    pointer-events: none;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-calculator-layout {
    max-width: 1120px !important;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(1.1rem, 2.5vw, 1.75rem);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-calc-form,
.entry-content .hx-app .hx-finish-time-calculator .hx-results-section,
.entry-content .hx-app .hx-finish-time-calculator .hx-calc-preview {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 28px !important;
    box-shadow: 0 30px 85px rgba(15, 23, 42, 0.12) !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-calc-form {
    padding: clamp(1.35rem, 2.5vw, 2rem) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)) !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-form-header {
    display: grid !important;
    grid-template-columns: 48px 1fr;
    grid-template-areas:
        "icon title"
        "icon subtitle";
    column-gap: 0.85rem;
    align-items: center;
    padding: 0 0 1.35rem !important;
    text-align: left;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-form-icon {
    grid-area: icon;
    position: static;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-form-title {
    grid-area: title;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-form-subtitle {
    grid-area: subtitle;
    max-width: 34rem;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-form-group,
.entry-content .hx-app .hx-finish-time-calculator .hx-form-section,
.entry-content .hx-app .hx-finish-time-calculator .hx-field-meta {
    text-align: left;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-form-row:first-child .hx-form-section {
    padding: 1rem !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-input,
.entry-content .hx-app .hx-finish-time-calculator .hx-select {
    border-color: rgba(15, 23, 42, 0.12) !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-radio-option,
.entry-content .hx-app .hx-finish-time-calculator .hx-segmented-btn {
    border: 1px solid rgba(15, 23, 42, 0.1) !important;
    background: #ffffff !important;
    color: #0f172a;
    font-weight: 800;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-radio-option:has(input:checked),
.entry-content .hx-app .hx-finish-time-calculator .hx-segmented-btn.active,
.entry-content .hx-app .hx-finish-time-calculator .hx-segmented-btn.is-active {
    border-color: rgba(232, 255, 0, 0.95) !important;
    background: #f1ff24 !important;
    color: #111827 !important;
    box-shadow: 0 10px 24px rgba(232, 255, 0, 0.22);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-btn-primary {
    position: relative;
    overflow: hidden;
    min-height: 58px;
    background: #e8ff00 !important;
    color: #020617 !important;
    box-shadow: 0 14px 30px rgba(232, 255, 0, 0.28) !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-btn-primary::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 20%, rgba(255, 255, 255, 0.52) 42%, transparent 62%);
    transform: translateX(-120%);
    transition: transform 0.45s ease;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-btn-primary:hover::after {
    transform: translateX(120%);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-calc-preview {
    position: sticky;
    top: 86px;
    min-height: 100%;
    padding: clamp(1.4rem, 3vw, 2.15rem) !important;
    background:
        radial-gradient(circle at 88% 10%, rgba(232, 255, 0, 0.32), transparent 26%),
        radial-gradient(circle at 12% 90%, rgba(255, 255, 255, 0.1), transparent 30%),
        linear-gradient(145deg, #070b14 0%, #111827 58%, #030712 100%) !important;
    color: #ffffff;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-orbit {
    position: absolute;
    inset: auto 1.25rem 1.25rem auto;
    width: 160px;
    height: 160px;
    opacity: 0.55;
    pointer-events: none;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-orbit span {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(232, 255, 0, 0.18);
    border-radius: 999px;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-orbit span:nth-child(2) {
    inset: 24px;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-orbit span:nth-child(3) {
    inset: 52px;
    background: rgba(232, 255, 0, 0.22);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-header,
.entry-content .hx-app .hx-finish-time-calculator .hx-preview-grid,
.entry-content .hx-app .hx-finish-time-calculator .hx-preview-steps {
    position: relative;
    z-index: 1;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-eyebrow {
    display: inline-flex;
    margin-bottom: 0.8rem;
    color: #e8ff00;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-header h2 {
    margin: 0;
    max-width: min(20rem, 100%);
    color: #ffffff !important;
    /* Sizing lives in interactive-polish: panel title must sit under page h1. */
    font-size: var(--hx-type-panel, clamp(1.3rem, 1.9vw, 1.75rem)) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
    font-weight: 800 !important;
}

.entry-content.rbct .hx-app .hx-finish-time-calculator .hx-calc-preview .hx-preview-header h2,
.entry-content .hx-app .hx-finish-time-calculator .hx-calc-preview .hx-preview-header h2 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-header p {
    max-width: 390px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, 0.72) !important;
    line-height: 1.65;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1.5rem 0;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-card {
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(14px);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-value {
    display: block;
    color: #e8ff00;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.05em;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-label {
    display: block;
    margin-top: 0.4rem;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.78rem;
    font-weight: 700;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-steps {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-steps li {
    display: grid;
    grid-template-columns: 2.4rem 1fr;
    gap: 0.35rem 0.8rem;
    padding: 0.85rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-steps span {
    grid-row: span 2;
    color: rgba(232, 255, 0, 0.7);
    font-size: 0.78rem;
    font-weight: 900;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-steps strong {
    color: #ffffff;
    font-size: 0.94rem;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-preview-steps em {
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.84rem;
    font-style: normal;
    line-height: 1.45;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-results-section {
    padding: clamp(1.4rem, 3vw, 2rem) !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-result-hero {
    position: relative;
    padding: 1.25rem 1rem 1.75rem !important;
    border: 1px solid rgba(232, 255, 0, 0.28) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(232, 255, 0, 0.22), transparent 48%),
        linear-gradient(180deg, #0f172a 0%, #111827 100%) !important;
    color: #ffffff !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-result-hero .hx-result-label {
    color: rgba(255, 255, 255, 0.62) !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-result-value-xl {
    color: #ffffff !important;
    text-shadow: 0 0 28px rgba(232, 255, 0, 0.18);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-stats-grid .hx-stat-card,
.entry-content .hx-app .hx-finish-time-calculator .hx-stat-inline {
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055) !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-table tr {
    transition: background 0.15s ease;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-table tbody tr:hover {
    background: rgba(232, 255, 0, 0.1);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-table td {
    padding: 0.72rem 0.55rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.075);
}

@media (max-width: 1180px) {
    .entry-content .hx-app .hx-finish-time-calculator {
        margin-top: 1.5rem;
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-calculator-layout {
        grid-template-columns: 1fr;
        max-width: 680px !important;
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-calc-preview,
    .entry-content .hx-app .hx-finish-time-calculator .hx-results-section {
        position: static;
    }
}

@media (max-width: 640px) {
    .entry-content .hx-app .hx-finish-time-hero {
        padding: 1.35rem !important;
        border-radius: 20px !important;
    }

    .entry-content .hx-app .hx-finish-time-hero .hx-page-title {
        font-size: clamp(2rem, 13vw, 3.4rem) !important;
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-form-header {
        grid-template-columns: 1fr;
        grid-template-areas:
            "icon"
            "title"
            "subtitle";
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-form-row:first-child .hx-form-section {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-preview-grid,
    .entry-content .hx-app .hx-finish-time-calculator .hx-stats-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   21. FINISH TIME READABILITY + MOBILE-FIRST CORRECTIONS
   ========================================================================== */

.entry-content .hx-app .hx-finish-time-hero {
    min-height: clamp(240px, 28vw, 340px) !important;
}

.entry-content .hx-app .hx-finish-time-hero .hx-page-title {
    max-width: none;
    width: 100%;
    font-size: clamp(2rem, 4.2vw, 4.2rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-calculator-layout {
    grid-template-columns: 1fr !important;
    max-width: 680px !important;
    width: 100%;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-calc-form,
.entry-content .hx-app .hx-finish-time-calculator .hx-results-section,
.entry-content .hx-app .hx-finish-time-calculator .hx-calc-preview {
    width: 100%;
    min-width: 0;
}

@media (min-width: 1181px) {
    .entry-content .hx-app .hx-finish-time-calculator .hx-calculator-layout {
        grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr) !important;
        max-width: 1120px !important;
    }
}

.entry-content .hx-app .hx-finish-time-calculator .hx-result-hero {
    padding: clamp(1.25rem, 3vw, 2rem) !important;
    border: 1px solid rgba(15, 23, 42, 0.1) !important;
    background:
        radial-gradient(circle at 88% 0%, rgba(232, 255, 0, 0.42), transparent 36%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    color: #020617 !important;
    text-align: left !important;
    align-items: flex-start !important;
}

.entry-content.rbct .hx-app .hx-finish-time-calculator .hx-result-hero .hx-result-label,
.entry-content .hx-app .hx-finish-time-calculator .hx-result-hero .hx-result-label {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
}

.entry-content.rbct .hx-app .hx-finish-time-calculator .hx-result-hero .hx-result-value-xl,
.entry-content .hx-app .hx-finish-time-calculator .hx-result-hero .hx-result-value-xl {
    color: #020617 !important;
    -webkit-text-fill-color: #020617 !important;
    font-size: clamp(2.75rem, 7vw, 4.4rem) !important;
    text-shadow: none !important;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-result-hero .hx-percentile-badge {
    background: #e8ff00 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    box-shadow: 0 10px 24px rgba(232, 255, 0, 0.24);
}

.entry-content .hx-app .hx-finish-time-calculator .hx-time-inputs {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center !important;
    gap: 0.55rem !important;
    width: 100%;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-time-inputs .hx-input-wrapper {
    min-width: 0;
    width: 100%;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-time-inputs .hx-input,
.entry-content .hx-app .hx-finish-time-calculator .hx-input-wrapper .hx-input {
    width: 100% !important;
    min-width: 0;
    padding-left: 0.9rem !important;
    padding-right: 3.05rem !important;
    text-align: center;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-input-suffix {
    right: 0.48rem !important;
    top: 50%;
    transform: translateY(-50%);
    min-width: 2.1rem;
    padding: 0.22rem 0.34rem;
    border-radius: 999px;
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-size: 0.64rem !important;
    font-weight: 900 !important;
    line-height: 1;
    letter-spacing: 0.04em;
    text-align: center;
    text-transform: uppercase;
}

.entry-content .hx-app .hx-finish-time-calculator .hx-time-sep {
    width: 0.6rem;
    min-width: 0.6rem;
    color: #64748b !important;
    font-size: 1.05rem;
    font-weight: 900;
}

@media (max-width: 760px) {
    .entry-content .hx-app .hx-finish-time-calculator .hx-form-row-2col {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 520px) {
    .entry-content .hx-app .hx-finish-time-hero .hx-page-title {
        font-size: clamp(1.85rem, 10vw, 2.7rem) !important;
    }

    .entry-content .hx-app .hx-finish-time-hero .hx-hero-metrics {
        gap: 0.4rem;
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-calc-form,
    .entry-content .hx-app .hx-finish-time-calculator .hx-results-section,
    .entry-content .hx-app .hx-finish-time-calculator .hx-calc-preview {
        border-radius: 18px !important;
        padding: 1rem !important;
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-result-hero {
        text-align: center !important;
        align-items: center !important;
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-time-inputs {
        gap: 0.4rem !important;
    }

    .entry-content .hx-app .hx-finish-time-calculator .hx-time-inputs .hx-input,
    .entry-content .hx-app .hx-finish-time-calculator .hx-input-wrapper .hx-input {
        padding-left: 0.65rem !important;
        padding-right: 2.75rem !important;
    }
}
