/* 由 reference/split-css.py 从原站编译 CSS 整理生成，按场景拆分；改动请直接编辑本文件。 */

/* ---- 换皮点①：字体（AXON VI）----
   Display: Bricolage Grotesque（可变字体 200-800）
   Body: Geist Sans / Mono: Geist Mono（可变字体 100-900），均为 OFL 开源。*/
@font-face {
    font-family: "Bricolage Grotesque";
    src: url(../fonts/bricolage.woff2) format("woff2");
    font-display: swap;
    font-style: normal;
    font-weight: 200 800
}

@font-face {
    font-family: Geist;
    src: url(../fonts/geist.woff2) format("woff2");
    font-display: swap;
    font-style: normal;
    font-weight: 100 900
}

@font-face {
    font-family: "Geist Mono";
    src: url(../fonts/geist-mono.woff2) format("woff2");
    font-display: swap;
    font-style: normal;
    font-weight: 100 900
}

:root {
    color-scheme: dark;
    /* ---- 换皮：AXON Finance VI「P7 玄岩·燃橙」（brand-vi-system.md）---- */
    --rgb-base-deep: 5 4 3;
    --rgb-base: 10 9 8;
    --rgb-contrast-2: 232 226 219;
    --rgb-contrast-3: 194 184 172;
    --rgb-accent: 245 84 28;
    --rgb-accent-muted: 217 154 120;
    --rgb-accent-soft: 255 233 214;
    --rgb-market-long: 255 138 61;
    --rgb-market-short: 143 133 120;
    --rgb-status-error: 226 104 112;
    --color-base: #0a0908;
    --color-base-deep: #050403;
    --color-surface: #161210;
    --color-surface-glass: rgb(var(--rgb-base) / .5);
    --color-surface-glass-active: rgb(var(--rgb-base) / .56);
    --color-overlay: rgb(var(--rgb-base-deep) / .94);
    --color-contrast: #f7f4f1;
    --color-contrast-2: #e8e2db;
    --color-contrast-3: #c2b8ac;
    --color-contrast-4: #8f8578;
    --color-contrast-5: rgb(var(--rgb-accent-soft) / .12);
    --color-accent: #f5541c;
    --color-accent-muted: #d99a78;
    --color-focus-ring: rgb(var(--rgb-accent) / .42);
    --color-market-long: #ff8a3d;
    --color-market-short: #8f8578;
    --color-status-positive: #7ed6a3;
    --color-status-negative: #e87684;
    --color-status-error: #e26870;
    --color-status-error-muted: rgb(var(--rgb-status-error) / .86);
    --color-status-error-line: rgb(var(--rgb-status-error) / .36);
    --color-control-background: rgb(var(--rgb-base) / .82);
    --color-control-background-hover: rgb(22 18 16 / .9);
    --color-visual-accent-soft: #ffe9d6;
    --color-visual-accent: #ff8a3d;
    --color-visual-accent-strong: #f0500f;
    --site-grid-size: 6rem;
    --site-grid-line-color: rgb(var(--rgb-accent-muted) / .045);
    --site-grid-origin-x: 50%;
    --site-grid-origin-y: 50%;
    --site-hover-light-size: clamp(23.5rem, 30.5vw, 35.5rem);
    --font-display: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
    --font-body: "Geist", "Helvetica Neue", Arial, sans-serif;
    --font-mono: "Geist Mono", "SFMono-Regular", Menlo, monospace;
    --font-weight-body-regular: 400;
    --font-weight-body-bold: 700;
    --font-weight-display-light: 300;
    --font-weight-display-strong: 800;
    --font-weight-mono-regular: 400;
    --font-size-display-xl: clamp(4.5rem, 8vw, 7.5rem);
    --font-size-display-lg: clamp(3.5rem, 6vw, 5.5rem);
    --font-size-h1: clamp(2.5rem, 4vw, 4rem);
    --font-size-h2: clamp(1.875rem, 3vw, 2.75rem);
    --font-size-h3: clamp(1.375rem, 2vw, 1.875rem);
    --font-size-body-lg: 1.125rem;
    --font-size-body-md: 1rem;
    --font-size-body-sm: .9375rem;
    --font-size-caption: .75rem;
    --line-height-display-tight: .94;
    --line-height-heading: 1.04;
    --line-height-body: 1.62;
    --line-height-body-relaxed: 1.7;
    --line-height-caption: 1.4;
    --tracking-display-xl: -.045em;
    --tracking-display-lg: -.03em;
    --tracking-heading: -.02em;
    --tracking-body: 0;
    --tracking-eyebrow: 0;
    --space-xs: .5rem;
    --site-edge-min: 1.5rem;
    --container-padding-x: clamp(var(--site-edge-min), 3vw, 2rem);
    --radius-sm: .375rem;
    --radius-md: .5rem;
    --radius-pill: 999px;
    --duration-fast: .22s;
    --ease-standard: cubic-bezier(.22, .61, .36, 1);
    --ease-decelerate: cubic-bezier(.16, 1, .3, 1);
    --z-base: 1;
    --hero-title-font: var(--font-display);
    --hero-title-size: var(--font-size-display-xl);
    --hero-title-weight: var(--font-weight-display-strong);
    --hero-title-line-height: var(--line-height-display-tight);
    --hero-title-tracking: var(--tracking-display-xl);
    --body-font: var(--font-body);
    --body-size: var(--font-size-body-md);
    --body-line-height: var(--line-height-body);
    --eyebrow-size: var(--font-size-caption);
    --eyebrow-weight: var(--font-weight-body-bold);
    --eyebrow-tracking: var(--tracking-eyebrow)
}

@media(min-width:48rem) {
    :root {
        --container-padding-x: clamp(var(--site-edge-min), 4vw, 3rem)
    }
}

@media(min-width:64rem) {
    :root {
        --container-padding-x: clamp(var(--site-edge-min), 4vw, 4.5rem)
    }
}

:root {
    --scene-display-min: 2.375rem;
    --scene-display-max: 4.625rem;
    --scene-frame-max: 38rem;
    --site-frame-max: 120rem;
    --scene-frame-width: min(calc(100vw - (var(--container-padding-x) * 2)), var(--scene-frame-max));
    --scene-display-from-frame: calc(var(--scene-frame-width) * .162);
    --scene-display-height-cap: clamp(var(--scene-display-min), 11.8svh, var(--scene-display-max));
    --scene-display-scale: min(max(var(--scene-display-min), var(--scene-display-from-frame)), var(--scene-display-height-cap), var(--scene-display-max));
    --scene-padding-top: clamp(6.5rem, 12svh, 8.5rem);
    --scene-padding-bottom: clamp(3.75rem, 8svh, 5.5rem);
    --scene-grid-line-width: 1px;
    --site-frame-gap: clamp(2rem, 5vw, 4rem)
}

@media(width>=28rem) {
    :root {
        --scene-display-min: 2.5625rem;
        --scene-display-max: 5.875rem;
        --scene-display-from-frame: calc(var(--scene-frame-width) * .17);
        --scene-display-height-cap: clamp(var(--scene-display-min), 12.6svh, var(--scene-display-max))
    }
}

@media(width>=42rem) {
    :root {
        --scene-display-min: 2.875rem;
        --scene-display-max: 8.875rem;
        --scene-frame-max: 62rem;
        --scene-display-from-frame: calc(var(--scene-frame-width) * .152);
        --scene-display-height-cap: clamp(var(--scene-display-min), 17svh, var(--scene-display-max));
        --scene-padding-top: clamp(6.25rem, 11svh, 9.25rem);
        --scene-padding-bottom: clamp(4.25rem, 9svh, 7rem)
    }
}

@media(min-width:64rem) {
    :root {
        --scene-display-max: 11rem;
        --scene-frame-max: 104rem
    }
}

@media(height<=47.5rem) {
    :root {
        --scene-display-height-cap: clamp(var(--scene-display-min), 18.5svh, 9.25rem);
        --scene-padding-top: clamp(4.25rem, 8svh, 6.5rem);
        --scene-padding-bottom: clamp(3rem, 6.5svh, 5rem)
    }
}

@media(height<=35rem) {
    :root {
        --scene-display-height-cap: clamp(2.5625rem, 20svh, 7.25rem);
        --scene-padding-top: clamp(3.375rem, 7.2svh, 4.625rem);
        --scene-padding-bottom: clamp(2.375rem, 5.6svh, 3.625rem)
    }
}

@media(width>=160rem) {
    :root {
        --scene-display-max: 13rem;
        --scene-frame-max: 110rem
    }
}

@media(width>=215rem) {
    :root {
        --scene-display-max: 14.5rem;
        --scene-frame-max: 116rem
    }
}

@media(width>=240rem) {
    :root {
        --scene-display-max: 16rem;
        --scene-frame-max: 120rem
    }
}
