:root {
    --initial-background: #f7f8f7;
    --initial-foreground: #202625;
    --initial-muted: #6f7775;
    --initial-primary: #6f8f8a;
    --initial-mark-surface: #ffffff;
    --initial-mark-border: rgba(32, 38, 37, 0.08);
}

:root[data-theme="dark"] {
    --initial-background: #202523;
    --initial-foreground: #f4f7f6;
    --initial-muted: #a8b3b0;
    --initial-primary: #92b8af;
    --initial-mark-surface: #37423e;
    --initial-mark-border: #53645e;
}

html, body {
    min-height: 100%;
    margin: 0;
    background: var(--initial-background);
}

@keyframes trackine-initial-spin {
    to {
        transform: rotate(360deg);
    }
}

.trackine-initial-loading {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 12% 10%,
            rgba(111, 143, 138, 0.1),
            transparent 28%
        ),
        var(--initial-background);
    color: var(--initial-foreground);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.trackine-initial-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem;
    text-align: center;
}

.trackine-initial-logo {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid var(--initial-mark-border);
    border-radius: 9999px;
    background: var(--initial-mark-surface);
    padding: 0;
}

.trackine-initial-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.trackine-initial-title {
    margin: 1.25rem 0 0;
    font-size: 1.5rem;
    font-weight: 700;
}

.trackine-initial-subtitle {
    margin: 0.375rem 0 0;
    color: var(--initial-muted);
    font-size: 0.875rem;
}

.trackine-initial-spinner {
    width: 1.75rem;
    height: 1.75rem;
    margin-top: 2rem;
    border: 3px solid rgba(111, 143, 138, 0.22);
    border-top-color: var(--initial-primary);
    border-radius: 9999px;
    animation: trackine-initial-spin 0.8s linear infinite;
}

.trackine-initial-text {
    margin: 0.75rem 0 0;
    color: var(--initial-muted);
    font-size: 0.75rem;
    font-weight: 600;
}
