:root {
    --shell-width: 1120px;
    --topbar-gap: 20px;
    --topbar-padding-y: 18px;
    --topbar-padding-x: 24px;
    --topbar-bg: rgba(248, 251, 255, 0.88);
    --topbar-border: rgba(148, 163, 184, 0.16);
    --topbar-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.shell {
    width: min(calc(100% - 32px), var(--shell-width));
    margin: 24px auto 56px;
}

.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--topbar-gap);
    padding: var(--topbar-padding-y) var(--topbar-padding-x);
    background: var(--topbar-bg);
    border: 1px solid var(--topbar-border);
    border-radius: 28px;
    box-shadow: var(--topbar-shadow);
    backdrop-filter: blur(14px);
    font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
}

.brand {
    color: var(--text);
    text-decoration: none;
    font-size: 1.05rem;
    font-weight: 700;
    white-space: nowrap;
}

.nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.nav a {
    color: var(--muted);
    text-decoration: none;
    padding: 8px 14px;
    border-radius: 12px;
    line-height: 1.2;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.nav a:hover,
.nav a:focus-visible,
.nav a.active {
    color: var(--accent-strong);
    background: rgba(148, 163, 184, 0.12);
}

@media (max-width: 640px) {
    .shell {
        width: min(calc(100% - 20px), var(--shell-width));
        margin-top: 12px;
    }

    .topbar {
        padding: 18px;
        border-radius: 28px;
    }
}
