
:root {
    --font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-data: 700;
}

/* Base */
html, body, button, input, select, textarea {
    font-family: var(--font-ui);
}

body {
    font-weight: var(--fw-regular);
}

/* Brand / nav */
.logo {
    font-weight: 700;
    letter-spacing: -0.35px;
}

.desktop-nav,
.app-header-nav a,
.app-link-button,
.app-user-name {
    font-weight: var(--fw-medium);
}

.header-actions .button,
.mobile-menu-actions .button {
    font-weight: var(--fw-semibold);
}

/* Hero */
.eyebrow {
    font-size: 12px;
    font-weight: var(--fw-medium);
    letter-spacing: .025em;
    text-transform: none;
}

.hero h1 {
    font-weight: var(--fw-semibold);
    letter-spacing: -1.45px;
}

.hero h1 span {
    font-weight: inherit;
}

.hero-lead {
    font-weight: var(--fw-regular);
}

.hero-actions .button {
    font-weight: var(--fw-semibold);
}

.hero-benefits strong {
    font-weight: var(--fw-semibold);
}

.hero-benefits span {
    font-weight: var(--fw-regular);
}

.hero-step span {
    font-weight: var(--fw-medium);
}

.hero-step strong {
    font-weight: var(--fw-data);
}

/* Quick benefits */
.quick-benefit strong {
    font-weight: var(--fw-semibold);
}

.quick-benefit span {
    font-weight: var(--fw-regular);
}

/* Section headings */
.section-kicker {
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: var(--fw-medium);
    letter-spacing: .02em;
    text-transform: none;
}

.section-heading h2,
.app-page-head h1,
.form-card-head h1,
.current-ladder-head h1,
.auth-card-head h1 {
    font-weight: var(--fw-semibold);
    letter-spacing: -1px;
}

.section-heading p,
.app-page-head p,
.form-card-head p,
.auth-card-head p {
    font-weight: var(--fw-regular);
}

/* Calculator */
.start-type {
    font-weight: var(--fw-medium);
}

.start-type.active {
    font-weight: var(--fw-semibold);
}

.field > span,
.form-label {
    font-weight: var(--fw-medium);
}

.field input,
.field select {
    font-weight: var(--fw-medium);
}

.input-with-suffix > span {
    font-weight: var(--fw-medium);
}

.calculator-button {
    font-weight: var(--fw-semibold);
}

.result-label,
.result-profit,
.result-meta {
    font-weight: var(--fw-regular);
}

.result-profit strong {
    font-weight: var(--fw-semibold);
}

.result-value {
    font-weight: var(--fw-data);
    letter-spacing: -1px;
}

/* Calculation table */
.steps-card h3 {
    font-weight: var(--fw-semibold);
}

.steps-card p {
    font-weight: var(--fw-regular);
}

.steps-table th {
    font-weight: var(--fw-medium);
    letter-spacing: .015em;
    text-transform: none;
}

.steps-table td {
    font-weight: var(--fw-regular);
}

.steps-table td strong {
    font-weight: var(--fw-data);
}

.step-number {
    font-weight: var(--fw-semibold);
}

.table-note {
    font-weight: var(--fw-regular);
}

/* Features */
.feature-icon {
    font-weight: var(--fw-semibold);
}

.feature-card h3 {
    font-weight: var(--fw-semibold);
}

.feature-card p {
    font-weight: var(--fw-regular);
}

/* Articles */
.coming-label {
    font-weight: var(--fw-medium);
}

.article-content > span {
    font-weight: var(--fw-medium);
    letter-spacing: .02em;
    text-transform: none;
}

.article-content h3 {
    font-weight: var(--fw-semibold);
}

.article-content p {
    font-weight: var(--fw-regular);
}

/* Account */
.app-head-stat strong {
    font-weight: var(--fw-data);
}

.app-head-stat span {
    font-weight: var(--fw-regular);
}

.project-label {
    font-weight: var(--fw-medium);
    letter-spacing: .02em;
    text-transform: none;
}

.project-card-head h2 {
    font-weight: var(--fw-semibold);
}

.project-count {
    font-weight: var(--fw-medium);
}

.slot-number {
    font-weight: var(--fw-medium);
}

.status-badge {
    font-weight: var(--fw-semibold);
    letter-spacing: 0;
}

.ladder-slot h3 {
    font-weight: var(--fw-semibold);
}

.slot-amount {
    font-weight: var(--fw-data);
    letter-spacing: -.35px;
}

.slot-meta {
    font-weight: var(--fw-regular);
}

.freebet-chip {
    font-weight: var(--fw-medium);
}

.ladder-slot.empty strong {
    font-weight: var(--fw-medium);
}

.future-project-card strong {
    font-weight: var(--fw-semibold);
}

.future-project-card > span {
    font-weight: var(--fw-medium);
}

/* Forms */
.auth-card-foot a,
.back-link,
.remember-row {
    font-weight: var(--fw-medium);
}

.field-error {
    font-weight: var(--fw-medium);
}

.radio-card strong {
    font-weight: var(--fw-semibold);
}

.radio-card small {
    font-weight: var(--fw-regular);
}

/* Ladder detail */
.current-stake > span {
    font-weight: var(--fw-regular);
}

.current-stake > strong {
    font-weight: var(--fw-data);
    letter-spacing: -1.2px;
}

.ladder-progress-meta > span {
    font-weight: var(--fw-regular);
}

.ladder-progress-meta strong {
    font-weight: var(--fw-semibold);
}

.result-button {
    font-weight: var(--fw-semibold);
}

.ladder-summary-card > span {
    font-weight: var(--fw-regular);
}

.ladder-summary-card > strong {
    font-weight: var(--fw-data);
}

.summary-row {
    font-weight: var(--fw-regular);
}

.summary-row strong {
    font-weight: var(--fw-semibold);
}

.finished-ladder strong {
    font-weight: var(--fw-data);
}

.history-card-head h2 {
    font-weight: var(--fw-semibold);
}

.history-step-number {
    font-weight: var(--fw-semibold);
}

.history-main strong {
    font-weight: var(--fw-medium);
}

.history-main span {
    font-weight: var(--fw-regular);
}

.history-result strong {
    font-weight: var(--fw-data);
}

.history-result span {
    font-weight: var(--fw-medium);
    text-transform: none;
}

/* Mobile navigation */
.mobile-nav a {
    font-weight: var(--fw-medium);
}

.mobile-bottom-nav small {
    font-weight: var(--fw-medium);
}
