﻿/* First-visit disclaimer popup. Uses the theme variables from base.css. */
html.disclaimer-open, html.disclaimer-open body { overflow: hidden; }
.disclaimer-overlay {
    position: fixed; inset: 0; z-index: 10000;
    background: rgba(0, 0, 0, 0.75);
    display: flex; align-items: center; justify-content: center;
    padding: 15px;
}
.disclaimer-box {
    background: var(--content-bg); color: var(--text-color);
    border: 1px solid var(--border-color); border-radius: 8px;
    max-width: 560px; width: 100%; max-height: 90vh; overflow-y: auto;
    padding: 20px 24px; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
    font-size: 15px; line-height: 1.5;
}
.disclaimer-box h2 { margin-top: 0; }
.disclaimer-check { display: flex; gap: 8px; align-items: flex-start; margin: 15px 0; font-weight: bold; cursor: pointer; }
.disclaimer-check input { margin-top: 4px; width: 18px; height: 18px; flex-shrink: 0; }
.disclaimer-buttons { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.disclaimer-agree {
    background: var(--button-bg); color: var(--button-text);
    border: none; border-radius: 4px; padding: 10px 22px; font-size: 16px; cursor: pointer;
}
.disclaimer-agree:disabled { opacity: 0.45; cursor: not-allowed; }
.disclaimer-leave { font-size: 15px; }
@media (max-width: 600px) {
    .disclaimer-box { padding: 16px; font-size: 14px; }
    .disclaimer-agree { width: 100%; }
}
