:root {
    --bg: #0a0a0a;
    --text: #bbb;
    --accent: #5ba3d9;
    --accent-hover: #82bce6;
    --accent-bg: rgba(91, 163, 217, 0.1);
}
@media (prefers-color-scheme: light) {
    :root:not([data-theme="dark"]) {
        --bg: #f5f5f5;
        --text: #333;
        --accent: #2a7ab5;
        --accent-hover: #1d5f8e;
        --accent-bg: rgba(42, 122, 181, 0.08);
    }
}
:root[data-theme="light"] {
    --bg: #f5f5f5;
    --text: #333;
    --accent: #2a7ab5;
    --accent-hover: #1d5f8e;
    --accent-bg: rgba(42, 122, 181, 0.08);
}
*, *:before, *:after {
    box-sizing: border-box;
}
body {
    margin: 0;
    font-family: Inter, system-ui, sans-serif;
    line-height: 1.5;
    color: var(--text);
}
a {
    color: var(--accent);
    text-decoration: none;
}
a:hover {
    color: var(--accent-hover);
}
.background {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg);
}
#content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    max-width: 400px;
}
#meditation-text {
    text-align: center;
    font-size: 22px;
    font-weight: 300;
    padding-bottom: 40px;
}
.btn-link-selected {
    border: 1px solid var(--accent);
    border-radius: 16px;
}
#time-options {
    display: flex;
    justify-content: center;
    gap: 2px;
    padding-bottom: 20px;
}
.time-selector-btn {
    cursor: pointer;
    width: 40px;
    color: var(--accent);
    font: inherit;
    font-size: 20px;
    text-align: center;
    padding: 4px;
    border-radius: 8px;
    border: none;
    background: none;
    transition: background 0.15s;
}
.time-selector-btn:hover {
    background: var(--accent-bg);
}
.blink {
    animation: blink 1s ease-in-out infinite alternate;
}
@keyframes blink {
    to { opacity: 0; }
}
.full-btn {
    display: block;
    width: 100%;
    font: inherit;
    font-size: 18px;
    cursor: pointer;
    color: var(--accent);
    background: none;
    border: 1px solid var(--accent);
    border-radius: 20px;
    padding: 10px 16px;
    text-align: center;
    transition: background 0.15s;
}
.full-btn:hover {
    background: var(--accent-bg);
}
#about-link {
    position: absolute;
    bottom: 16px;
    right: 16px;
}
#theme-toggle {
    position: absolute;
    bottom: 16px;
    left: 16px;
    background: none;
    border: none;
    color: var(--text);
    font-size: 28px;
    cursor: pointer;
    padding: 4px;
    line-height: 1;
    opacity: 0.6;
    transition: opacity 0.15s;
}
#theme-toggle:hover {
    opacity: 1;
}
#about-dialog p {
    line-height: 1.7;
}
.fade-in {
    animation: fadeIn 0.2s ease forwards;
}
.fade-out {
    animation: fadeOut 0.2s ease forwards;
}
@keyframes fadeIn {
    from { opacity: 0; }
}
@keyframes fadeOut {
    to { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
