:root {
    --color-bg: #12161d;
    --color-bg-soft: #171c25;
    --color-surface: #202631;
    --color-surface-alt: #171c25;
    --color-surface-raised: #2a3240;
    --color-card-hover: rgba(255, 255, 255, 0.025);
    --color-border: rgba(229, 231, 235, 0.08);
    --color-border-strong: rgba(229, 231, 235, 0.14);

    --color-text: #ffffff;
    --color-text-muted: #a7adb8;
    --color-text-soft: #e5e7eb;

    --color-brand: #c6a85b;
    --color-brand-hover: #e0bf70;
    --color-brand-soft: rgba(198, 168, 91, 0.14);
    --color-brand-border: rgba(198, 168, 91, 0.38);
    --color-brand-contrast: #0f1115;

    --color-success: #7faf7a;
    --color-success-hover: #92c48c;
    --color-success-bg: rgba(127, 175, 122, 0.16);
    --color-success-text: #b9e4b4;
    --color-success-border: rgba(127, 175, 122, 0.32);
    --color-success-contrast: #102411;

    --color-primary: var(--color-success);
    --color-primary-hover: var(--color-success-hover);
    --color-primary-contrast: var(--color-success-contrast);

    --color-warning: #e0844e;
    --color-warning-bg: rgba(224, 132, 78, 0.16);
    --color-warning-text: #ffd2b7;
    --color-warning-border: rgba(224, 132, 78, 0.34);

    --color-bar: #a855f7;
    --color-bar-hover: #9333ea;
    --color-bar-bg: rgba(168, 85, 247, 0.16);
    --color-bar-text: #e9d5ff;
    --color-bar-border: rgba(168, 85, 247, 0.34);

    --color-info-bg: rgba(198, 168, 91, 0.14);
    --color-info-text: #f5d98b;
    --color-info-border: rgba(198, 168, 91, 0.34);

    --color-danger: #ef4444;
    --color-danger-hover: #dc2626;
    --color-danger-bg: rgba(239, 68, 68, 0.14);
    --color-danger-text: #fecaca;
    --color-danger-border: rgba(239, 68, 68, 0.3);

    --radius-sm: 8px;
    --radius-control: 12px;
    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-pill: 999px;

    --button-radius: var(--radius-control);
    --button-min-height: 40px;
    --button-min-height-lg: 46px;
    --button-font-weight: 850;
    --button-secondary-bg: rgba(255, 255, 255, 0.045);
    --button-secondary-bg-hover: var(--color-surface-raised);
    --button-secondary-border: var(--color-border);
    --button-secondary-border-hover: var(--color-border-strong);
    --button-secondary-text: var(--color-text-soft);
    --button-focus-outline: 2px solid var(--color-brand-hover);
    --button-transition: background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), transform var(--motion-fast), box-shadow var(--motion-fast);

    --shadow-card: 0 20px 50px rgba(0, 0, 0, 0.22);
    --shadow-soft: 0 12px 30px rgba(0, 0, 0, 0.18);
    --shadow-card-hover: 0 22px 58px rgba(0, 0, 0, 0.3);
    --motion-fast: 180ms cubic-bezier(0.2, 0, 0, 1);
    --motion-card: 240ms cubic-bezier(0.2, 0, 0, 1);
    --hover-lift-card: translateY(-1px);
    --hover-lift-control: translateY(-1px);

    --font-ui: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.app-toast {
    position: fixed;
    left: 50%;
    bottom: 92px;
    transform: translateX(-50%) translateY(12px);
    min-width: 240px;
    max-width: calc(100vw - 32px);
    padding: 12px 16px;
    border-radius: 14px;
    font-size: 0.95rem;
    font-weight: 700;
    text-align: center;
    z-index: 2000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.28);
}

.app-toast.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.app-toast-success {
    background: var(--color-success);
    color: var(--color-success-contrast);
}

.app-toast-error {
    background: var(--color-danger);
    color: var(--color-text);
}

.app-toast-info {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: var(--color-surface);
    color: var(--color-text);
}
