/* Self-hosted Inter (variable font, SIL OFL 1.1 – see ../fonts/Inter-LICENSE.txt).
   No external resources are loaded from this site. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/InterVariable.woff2') format('woff2');
}

.glass {
    background: rgba(19, 27, 46, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.glass-nav {
    background: rgba(11, 15, 23, 0.8);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.glow-effect-hover:hover {
    box-shadow: 0 0 35px 0px rgba(6, 182, 212, 0.4);
}
.text-gradient {
    background: linear-gradient(135deg, #60a5fa 0%, #06b6d4 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Language switcher in the header: a <details> dropdown that works without JavaScript;
   lang.js closes it on outside clicks and remembers the choice in the "lang" cookie for nginx. */
.lang-switch {
    position: relative;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
.lang-switch summary {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.625rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(30, 41, 59, 0.5);
    color: #cbd5e1;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.lang-switch summary::-webkit-details-marker { display: none; }
.lang-switch summary i { color: #64748b; }
.lang-switch summary:hover, .lang-switch[open] summary { color: #fff; border-color: rgba(255, 255, 255, 0.2); }
.lang-switch ul {
    position: absolute;
    right: 0;
    top: calc(100% + 0.375rem);
    min-width: 10rem;
    margin: 0;
    padding: 0.25rem;
    list-style: none;
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(19, 27, 46, 0.97);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    z-index: 50;
}
.lang-switch ul a {
    display: block;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    color: #cbd5e1;
    font-weight: 500;
    transition: color 0.15s, background-color 0.15s;
}
.lang-switch ul a:hover { color: #fff; background: rgba(255, 255, 255, 0.06); }
.lang-switch ul a[aria-current] { background: rgb(37 99 235); color: #fff; }

/* Start page header: the full navigation only fits from 1024px, the source button from 1280px;
   below that the hamburger menu takes over (Tailwind subset lacks the lg:/xl: variants). */
.nav-wide, .nav-xl { display: none; }
@media (min-width: 1024px) {
    .nav-wide { display: flex; gap: 1.25rem; white-space: nowrap; }
    .nav-narrow { display: none; }
}
@media (min-width: 1280px) {
    .nav-wide { gap: 2rem; }
    .nav-xl { display: flex; }
}
