/* Phalangix theme tokens, dark + amber/gold */

:root {
    /* Brand colors - dark with warm amber accents */
    --bg-primary:      #06080f;
    --bg-elevated:     #0c1120;
    --bg-deep:         #03050a;

    --surface-1:       rgba(255, 255, 255, 0.025);
    --surface-2:       rgba(255, 255, 255, 0.04);
    --surface-3:       rgba(255, 255, 255, 0.06);

    --border-soft:     rgba(255, 255, 255, 0.06);
    --border-mid:      rgba(255, 255, 255, 0.10);
    --border-strong:   rgba(255, 255, 255, 0.18);

    --text-primary:    #e8ecf5;
    --text-secondary:  #a4adbf;
    --text-muted:      #6c7589;
    --text-faint:      #4a5163;

    /* Amber/gold accent system */
    --accent-gold:        #f4b54a;
    --accent-gold-bright: #ffd279;
    --accent-gold-warm:   #e89a2c;
    --accent-gold-deep:   #b6731b;
    --accent-gold-glow:   rgba(244, 181, 74, 0.35);
    --accent-gold-faint:  rgba(244, 181, 74, 0.08);

    /* Status colors */
    --color-success:   #5bd9a0;
    --color-warning:   #f4b54a;
    --color-danger:    #f47373;

    /* Gradients */
    --grad-page:       radial-gradient(ellipse 90% 60% at 50% -10%, rgba(244, 181, 74, 0.10), transparent 60%), linear-gradient(180deg, #06080f 0%, #04060c 100%);
    --grad-gold:       linear-gradient(135deg, #ffd279 0%, #f4b54a 45%, #b6731b 100%);
    --grad-gold-soft:  linear-gradient(135deg, rgba(255, 210, 121, 0.18) 0%, rgba(244, 181, 74, 0.08) 100%);
    --grad-card:       linear-gradient(160deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%);

    /* Typography stack */
    --font-sans:    "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --font-display: "Space Grotesk", "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

    /* Fluid typography scale, clamp(min, preferred, max) */
    --fs-xs:       clamp(0.75rem, 0.72rem + 0.15vw, 0.82rem);
    --fs-sm:       clamp(0.85rem, 0.82rem + 0.18vw, 0.95rem);
    --fs-base:     clamp(1rem,    0.96rem + 0.22vw, 1.10rem);
    --fs-lg:       clamp(1.15rem, 1.08rem + 0.32vw, 1.35rem);
    --fs-xl:       clamp(1.35rem, 1.2rem  + 0.7vw,  1.75rem);
    --fs-2xl:      clamp(1.7rem,  1.4rem  + 1.4vw,  2.5rem);
    --fs-3xl:      clamp(2.2rem,  1.7rem  + 2.4vw,  3.6rem);
    --fs-4xl:      clamp(2.8rem,  2.0rem  + 3.8vw,  5.2rem);
    --fs-5xl:      clamp(3.4rem,  2.3rem  + 5.4vw,  7rem);

    /* Spacing scale */
    --space-1:  0.25rem;
    --space-2:  0.5rem;
    --space-3:  0.75rem;
    --space-4:  1rem;
    --space-5:  1.5rem;
    --space-6:  2rem;
    --space-7:  3rem;
    --space-8:  4rem;
    --space-9:  6rem;
    --space-10: 8rem;

    /* Layout */
    --container-max:    1240px;
    --container-narrow: 760px;
    --container-wide:   1480px;
    --gutter:           clamp(1rem, 4vw, 2.5rem);

    /* Radii */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-full: 999px;

    /* Shadows */
    --shadow-sm:    0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-md:    0 6px 24px rgba(0, 0, 0, 0.35), 0 2px 6px rgba(0, 0, 0, 0.25);
    --shadow-lg:    0 20px 60px rgba(0, 0, 0, 0.5), 0 8px 20px rgba(0, 0, 0, 0.3);
    --shadow-gold:  0 8px 32px rgba(244, 181, 74, 0.28), 0 2px 8px rgba(244, 181, 74, 0.15);
    --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.06);

    /* Motion */
    --ease-out:  cubic-bezier(0.22, 0.61, 0.36, 1);
    --ease-soft: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --dur-fast:   140ms;
    --dur-mid:    260ms;
    --dur-slow:   420ms;

    /* Z-index */
    --z-base:    1;
    --z-sticky:  100;
    --z-overlay: 200;
    --z-modal:   300;
    --z-toast:   400;
}

html, body {
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: var(--font-sans);
    font-size: var(--fs-base);
    font-weight: 400;
}

body {
    background: var(--grad-page);
    background-attachment: fixed;
}

/* Typography utilities */
.display {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-3xl);
    letter-spacing: -0.025em;
    line-height: 1.05;
    background: linear-gradient(180deg, #ffffff 0%, #c4cad8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.display--xl {
    font-size: var(--fs-5xl);
    letter-spacing: -0.035em;
}

.display--gold {
    background: var(--grad-gold);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.eyebrow {
    font-size: var(--fs-xs);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent-gold);
    margin-bottom: var(--space-3);
}

.lead {
    font-size: var(--fs-lg);
    color: var(--text-secondary);
    max-width: 60ch;
    line-height: 1.55;
}

.muted {
    color: var(--text-muted);
}

.text-center { text-align: center; }
.text-center .lead { margin-inline: auto; }

a {
    color: var(--accent-gold);
    transition: color var(--dur-fast) var(--ease-out);
}
a:hover {
    color: var(--accent-gold-bright);
}
