:root {
    --gold: #b59128;
    --gold-dark: #816416;
    --ink: #202f35;
    --muted: #607076;
    --teal: #356c6b;
    --paper: #f6f6f1;
    --line: #d9dfdc;
    --white: #fff;
}
html {
    scrollbar-gutter: stable;
}
html.scroll-locked {
    overflow: hidden;
}
body {
    min-width: 0;
    font-family: "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: var(--ink);
    background: var(--paper);
}
[hidden] {
    display: none !important;
}
svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    vertical-align: middle;
}
img {
    max-width: 100%;
}
button, input, select, textarea {
    font: inherit;
}
button, a {
    -webkit-tap-highlight-color: transparent;
}
button {
    cursor: pointer;
}
button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}
a {
    color: inherit;
    text-decoration: none;
}
a:focus-visible, button:focus-visible {
    outline: 2px solid var(--teal);
    outline-offset: 3px;
}
input:focus, textarea:focus, select:focus, .custom-select__trigger:focus {
    border-color: var(--gold) !important;
    outline: none;
    box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
