@font-face {
    font-family: "Inter";
    src: url("/fonts/inter/Inter-Regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("/fonts/inter/Inter-Medium.ttf") format("truetype");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("/fonts/inter/Inter-Medium.ttf") format("truetype");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("/fonts/inter/Inter-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "bootstrap-icons";
    src: url("/assets/plugins/fonts/bootstrap-icons/bootstrap-icons.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: block;
}

/*
 * Product foundation only.
 * Page components own their light and dark appearance in their page CSS.
 */

:root {
    color-scheme: light;

    --pm-brand: #c2410c;
    --pm-brand-hover: #a83a0a;
    --pm-brand-pressed: #8f2f0b;
    --pm-brand-rgb: 194, 65, 12;
    --pm-brand-soft: rgba(194, 65, 12, .09);
    --pm-brand-soft-hover: rgba(194, 65, 12, .14);
    --pm-brand-border: rgba(194, 65, 12, .27);

    --pm-positive: #13ad68;
    --pm-positive-hover: #18bd73;
    --pm-positive-pressed: #0d8f56;
    --pm-positive-rgb: 19, 173, 104;
    --pm-positive-soft: rgba(19, 173, 104, .10);
    --pm-positive-soft-hover: rgba(19, 173, 104, .15);
    --pm-positive-border: rgba(19, 173, 104, .24);

    /* Compatibility aliases for positive market states. */
    --pm-green: var(--pm-positive);
    --pm-green-hover: var(--pm-positive-hover);
    --pm-green-pressed: var(--pm-positive-pressed);
    --pm-green-soft: var(--pm-positive-soft);
    --pm-green-soft-hover: var(--pm-positive-soft-hover);
    --pm-green-border: var(--pm-positive-border);

    --pm-red: #e84f67;
    --pm-red-hover: #ef6177;
    --pm-red-rgb: 232, 79, 103;
    --pm-red-soft: rgba(232, 79, 103, .09);
    --pm-red-border: rgba(232, 79, 103, .21);
    --pm-amber: #c98a16;
    --pm-orange: #d96916;
    /* Data/info blue stays separate from the orange product brand. */
    --pm-data-blue: #356df3;
    --pm-data-blue-rgb: 53, 109, 243;
    --pm-blue: var(--pm-data-blue);
    --pm-blue-rgb: var(--pm-data-blue-rgb);
    --pm-cyan: #198fb8;
    --pm-purple: #7856d8;

    --pm-page-bg: #f7f4ef;
    --pm-surface: #fffcf8;
    --pm-surface-subtle: #f1ece5;
    --pm-surface-raised: #ffffff;
    --pm-surface-hover: #eee8e0;
    --pm-control-bg: #f2ede6;
    --pm-popover-bg: #fffcf8;

    --pm-text: #211a16;
    --pm-text-secondary: #655a52;
    --pm-text-muted: #74675e;
    --pm-text-disabled: #a79d94;
    --pm-text-on-brand: #ffffff;
    --pm-text-on-positive: #ffffff;

    --pm-line: rgba(74, 56, 44, .14);
    --pm-line-soft: rgba(74, 56, 44, .08);
    --pm-line-strong: rgba(74, 56, 44, .24);

    --pm-shadow-card: 0 1px 2px rgba(70, 42, 21, .04), 0 12px 30px rgba(70, 42, 21, .035);
    --pm-shadow-popover: 0 20px 54px rgba(55, 32, 17, .16);
    --pm-shadow-modal: 0 30px 84px rgba(43, 25, 13, .24);

    --pm-radius-xs: 6px;
    --pm-radius-sm: 10px;
    --pm-radius-md: 14px;
    --pm-radius-lg: 18px;
    --pm-radius-xl: 24px;
    --pm-radius-pill: 999px;

    --pm-space-1: 4px;
    --pm-space-2: 8px;
    --pm-space-3: 12px;
    --pm-space-4: 16px;
    --pm-space-5: 20px;
    --pm-space-6: 24px;
    --pm-space-8: 32px;
    --pm-space-10: 40px;

    --pm-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --pm-font-xs: 12px;
    --pm-font-sm: 13px;
    --pm-font-md: 15px;
    --pm-font-lg: 17px;
    --pm-font-xl: 22px;
    --pm-font-2xl: 28px;
    --pm-font-3xl: 34px;

    --pm-weight-regular: 400;
    --pm-weight-medium: 500;
    --pm-weight-semibold: 600;
    --pm-weight-bold: 700;

    --pm-ease-standard: cubic-bezier(.2, .75, .2, 1);
    --pm-ease-emphasized: cubic-bezier(.16, 1, .3, 1);
    --pm-duration-fast: 120ms;
    --pm-duration-normal: 190ms;
    --pm-duration-slow: 320ms;

    --pm-shell-width: 1420px;
    --pm-shell-gutter: 20px;

    --pm-z-header: 1000;
    --pm-z-fab: 1200;
    --pm-z-widget: 8000;
    --pm-z-modal: 8500;
    --pm-z-auth: 9200;
    --pm-z-toast: 9600;

    /* Compatibility aliases used by older page styles during migration. */
    --pm-page-text: var(--pm-text);
    --pm-page-muted: var(--pm-text-secondary);
    --pm-page-soft: var(--pm-surface-subtle);
    --pm-surface-elevated: var(--pm-surface-raised);
    --pm-border: var(--pm-line);
    --pm-border-soft: var(--pm-line-soft);
    --pm-shadow-tight: var(--pm-shadow-card);
    --pm-shadow-pop: var(--pm-shadow-popover);
    --pm-green-deep: var(--pm-green-pressed);
    --pm-green-bright: var(--pm-green-hover);
}

html.is-dark,
body.is-dark {
    color-scheme: dark;

    --pm-brand: #ff8a1f;
    --pm-brand-hover: #ffa34d;
    --pm-brand-pressed: #e9770e;
    --pm-brand-rgb: 255, 138, 31;
    --pm-brand-soft: rgba(255, 138, 31, .12);
    --pm-brand-soft-hover: rgba(255, 138, 31, .18);
    --pm-brand-border: rgba(255, 138, 31, .30);

    --pm-positive: #2bd989;
    --pm-positive-hover: #43e29a;
    --pm-positive-pressed: #1fbd73;
    --pm-positive-rgb: 43, 217, 137;
    --pm-positive-soft: rgba(43, 217, 137, .11);
    --pm-positive-soft-hover: rgba(43, 217, 137, .17);
    --pm-positive-border: rgba(43, 217, 137, .24);
    --pm-green: var(--pm-positive);
    --pm-green-hover: var(--pm-positive-hover);
    --pm-green-pressed: var(--pm-positive-pressed);
    --pm-green-soft: var(--pm-positive-soft);
    --pm-green-soft-hover: var(--pm-positive-soft-hover);
    --pm-green-border: var(--pm-positive-border);

    --pm-red: #ff6178;
    --pm-red-hover: #ff788b;
    --pm-red-rgb: 255, 97, 120;
    --pm-red-soft: rgba(255, 97, 120, .11);
    --pm-red-border: rgba(255, 97, 120, .23);
    --pm-amber: #f2b84b;
    --pm-orange: #ff9a3c;
    --pm-data-blue: #5b82ff;
    --pm-data-blue-rgb: 91, 130, 255;
    --pm-blue: var(--pm-data-blue);
    --pm-blue-rgb: var(--pm-data-blue-rgb);
    --pm-cyan: #38b9e5;
    --pm-purple: #a47aff;

    --pm-page-bg: #0d0c0a;
    --pm-surface: #161412;
    --pm-surface-subtle: #11100e;
    --pm-surface-raised: #1c1916;
    --pm-surface-hover: #25211d;
    --pm-control-bg: #201c18;
    --pm-popover-bg: #1a1715;

    --pm-text: #f7efe7;
    --pm-text-secondary: #bdb3aa;
    --pm-text-muted: #91877f;
    --pm-text-disabled: #625d58;
    --pm-text-on-brand: #17100a;
    --pm-text-on-positive: #04170f;

    --pm-line: #352f29;
    --pm-line-soft: #29241f;
    --pm-line-strong: #4a423a;

    --pm-shadow-card: 0 1px 0 rgba(255, 255, 255, .025), 0 18px 40px rgba(0, 0, 0, .16);
    --pm-shadow-popover: 0 24px 64px rgba(0, 0, 0, .48);
    --pm-shadow-modal: 0 34px 96px rgba(0, 0, 0, .62);

    --pm-page-text: var(--pm-text);
    --pm-page-muted: var(--pm-text-secondary);
    --pm-page-soft: var(--pm-surface-subtle);
    --pm-surface-elevated: var(--pm-surface-raised);
    --pm-border: var(--pm-line);
    --pm-border-soft: var(--pm-line-soft);

    --pm-header-bg: rgba(13, 12, 10, .985);
    --pm-header-bg-solid: #0d0c0a;
    --pm-header-text: var(--pm-text);
    --pm-header-muted: var(--pm-text-secondary);
    --pm-header-soft: var(--pm-text-muted);
    --pm-header-line: var(--pm-line-soft);
    --pm-header-field: var(--pm-control-bg);
    --pm-header-field-hover: var(--pm-surface-raised);
    --pm-header-shadow: none;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--pm-page-bg);
    scrollbar-gutter: stable;
}

body {
    min-height: 100%;
    margin: 0;
    background: var(--pm-page-bg);
    color: var(--pm-text);
    font-family: var(--pm-font);
    font-size: var(--pm-font-md);
    font-weight: var(--pm-weight-regular);
    line-height: 1.45;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: auto;
    transition: background-color var(--pm-duration-normal) ease,
                color var(--pm-duration-normal) ease,
                opacity var(--pm-duration-fast) ease;
}

button,
input,
select,
textarea {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
}

/* Local, deterministic category icons. This replaces the late CDN icon font. */
.mdi {
    display: inline-block;
    font-family: "bootstrap-icons" !important;
    font-style: normal;
    font-weight: 400 !important;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
}

.mdi::before { display: inline-block; }
.mdi-trending-up::before { content: "\f673"; }
.mdi-flash-outline::before { content: "\f46d"; }
.mdi-clock-outline::before { content: "\f293"; }
.mdi-bank-outline::before,
.mdi-vote-outline::before { content: "\f62e"; }
.mdi-soccer::before { content: "\f5e7"; }
.mdi-bitcoin::before { content: "\f635"; }
.mdi-controller-classic-outline::before { content: "\f2d4"; }
.mdi-chart-line::before,
.mdi-finance::before { content: "\f3f2"; }
.mdi-earth::before { content: "\f3ef"; }
.mdi-memory::before { content: "\f2d6"; }
.mdi-palette-outline::before { content: "\f4b1"; }
.mdi-weather-partly-cloudy::before { content: "\f2be"; }
.mdi-at::before { content: "\f152"; }
.mdi-pulse::before { content: "\f66b"; }

button,
[role="button"] {
    -webkit-tap-highlight-color: transparent;
}

img,
svg {
    max-width: 100%;
}

a {
    color: inherit;
}

::selection {
    background: rgba(var(--pm-brand-rgb), .24);
    color: var(--pm-text);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid rgba(var(--pm-brand-rgb), .68);
    outline-offset: 2px;
}

:where(.pm-header__balance-value, .amg-team-pct, .amg-mini-pct, .amg-binary-pct,
       .amg-row__pct, .amg-ring__pct, .pe-row__pct, .pe-price-box strong,
       .pp-profit-value, .pp-stat strong, .pc-balance, .rf-stats strong,
       .lb-row__metric, .payment-modal__amount-input) {
    font-variant-numeric: tabular-nums;
}

:where(.amg-section, .btc-hero, .pe-section, .pe-page, .pp-page, .pc-page,
       .ps-page, .px-page, .events-page, .payment-modal, .auth-modal,
       .support-widget) {
    font-family: inherit;
}

html.pm-shell-ready body {
    animation: none;
}

html.pm-page-leaving body {
    opacity: .9;
    pointer-events: none;
}

@keyframes pmPageReveal {
    from { opacity: .9; }
    to { opacity: 1; }
}

.pm-back-to-top {
    position: fixed;
    right: 22px;
    bottom: 92px;
    z-index: var(--pm-z-fab);
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid var(--pm-line);
    border-radius: var(--pm-radius-pill);
    background: color-mix(in srgb, var(--pm-popover-bg) 94%, transparent);
    color: var(--pm-text-secondary);
    box-shadow: var(--pm-shadow-popover);
    font-size: var(--pm-font-sm);
    font-weight: var(--pm-weight-semibold);
    cursor: pointer;
    opacity: 0;
    transform: translateY(10px) scale(.97);
    pointer-events: none;
    transition: opacity var(--pm-duration-normal) var(--pm-ease-standard),
                transform var(--pm-duration-normal) var(--pm-ease-emphasized),
                color var(--pm-duration-fast) ease,
                border-color var(--pm-duration-fast) ease;
}

.pm-back-to-top.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.pm-back-to-top:hover {
    border-color: var(--pm-brand-border);
    color: var(--pm-brand);
    transform: translateY(-1px);
}

@media (max-width: 760px) {
    :root {
        --pm-shell-gutter: 20px;
    }

    body { padding-bottom: 64px; }

    .pm-back-to-top {
        left: 50%;
        right: auto;
        bottom: 82px;
        transform: translateX(-50%) translateY(10px) scale(.97);
    }

    .pm-back-to-top.is-visible {
        transform: translateX(-50%) translateY(0) scale(1);
    }

    .pm-back-to-top:hover {
        transform: translateX(-50%) translateY(-1px);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
