/* Krytyczny pierwszy paint — wcześniej inline w index.html (CSP: style-src-elem bez inline <style>). */
html,
body {
    height: 100%;
    margin: 0;
    overflow: hidden;
    background-color: #0f0f10;
    color: #f2f3f5;
}
html[data-fct-theme="daylight"] {
    background-color: #eceef2;
    color: #111827;
}
html[data-fct-theme="daylight"] body {
    background-color: #eceef2;
}
#app {
    width: 100%;
    height: 100%;
    min-height: 100%;
}
#app > * {
    width: 100%;
    height: 100%;
    min-height: 100%;
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
/* Bootstrap loader: centered spinner (px only — safe at any html font-size). */
#fct-initial-lcp {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    height: 100%;
    min-height: 100%;
    box-sizing: border-box;
    overflow: hidden;
    padding: 24px;
    font-size: 16px;
    background: #313338;
}
html[data-fct-theme="daylight"] #fct-initial-lcp {
    background: #f9fafb;
}
#fct-initial-lcp .fct-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #3f3f46;
    border-top-color: #5865f2;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    flex-shrink: 0;
}
html[data-fct-theme="daylight"] #fct-initial-lcp .fct-spinner {
    border-color: #cbd5e1;
    border-top-color: #4f46e5;
}
#fct-initial-lcp .fct-initial-label {
    margin: 0;
    font: 700 clamp(28px, 5.2vw, 38px) / 1.15 system-ui, -apple-system, "Segoe UI", sans-serif;
    letter-spacing: 0.01em;
    color: #f2f3f5;
    text-align: center;
}
html[data-fct-theme="daylight"] #fct-initial-lcp .fct-initial-label {
    color: #111827;
}
.fct-noscript-msg {
    max-width: 36rem;
    margin: 0;
    text-align: center;
    font: 400 16px / 1.5 system-ui, sans-serif;
}
.fct-noscript-msg a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}
.fct-noscript-msg a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
