:root {
    color-scheme: dark;
    --background-top: #1c2331;
    --background-bottom: #0b0f19;
    --text: #e0e6ed;
    --panel: rgba(255, 255, 255, 0.09);
    --panel-border: rgba(255, 255, 255, 0.2);
    --blue-start: #3a7bd5;
    --blue-end: #3a6073;
    --safe-bottom: env(safe-area-inset-bottom, 0px);
    --safe-left: env(safe-area-inset-left, 0px);
    --safe-right: env(safe-area-inset-right, 0px);
}

*, *::before, *::after {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    margin: 0;
    overflow-x: hidden;
    overscroll-behavior: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
    background-color: var(--background-bottom);
    background-image: radial-gradient(circle at top, var(--background-top), var(--background-bottom));
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

body {
    min-height: 100vh;
    min-height: 100dvh;
    color: var(--text);
    font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -webkit-overflow-scrolling: touch;
    text-align: center;
}

@supports (overflow: clip) {
    html,
    body {
        overflow-x: clip;
    }
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

button {
    font: inherit;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin: 5px;
    padding: 12px 28px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, opacity 0.25s ease;
}

.btn-blue {
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(135deg, var(--blue-start), var(--blue-end));
    box-shadow: 0 8px 15px rgba(58, 123, 213, 0.38);
}

.btn:hover {
    transform: translateY(-3px) scale(1.02);
}

.btn:focus-visible,
.icon-button:focus-visible {
    outline: 3px solid rgba(116, 180, 255, 0.95);
    outline-offset: 3px;
}

.btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
