:root {
    --site-ink: #232c28;
    --site-muted: #68736d;
    --site-border: #dfe5dc;
    --site-surface: #fff;
    --site-bg: #f6f7f2;
    --site-accent: #2e634c;
    --site-accent-soft: #e9efe4;
    --bs-primary: #2e634c;
    --bs-primary-rgb: 46, 99, 76;
    --bs-link-color: #2e634c;
    --bs-link-color-rgb: 46, 99, 76;
    --bs-link-hover-color: #1c4533;
    --bs-link-hover-color-rgb: 28, 69, 51;
    --bs-body-color: #232c28;
    --bs-border-color: #dfe5dc;
    --bs-secondary-color: #68736d;
}
html { scroll-padding-top: 6rem; }
html, body { min-height: 100%; margin: 0; }
body { min-height: 100vh; display: flex; flex-direction: column; background: var(--site-bg); color: var(--site-ink); }
.maincontent { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", sans-serif; -webkit-font-smoothing: antialiased; }
.maincontent :is(h1,h2,h3,h4,h5,h6) { color: var(--site-ink); font-family: inherit; letter-spacing: -.035em; }
.maincontent h2 { padding-left: 0; border-left: 0; margin-left: 0; }
.content { flex: 1; min-width: 0; }
a { text-underline-offset: .22em; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #73937c; outline-offset: 4px; }
::selection { background: #dcebb9; color: #172c20; }
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 1100; padding: .7rem 1rem; border-radius: .5rem; background: var(--site-ink); color: #fff; }
.skip-link:focus { top: 1rem; color: #fff; }
.site-navbar { background: rgba(246,247,242,.96); border-bottom: 1px solid var(--site-border); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.site-navbar .container-xl { min-height: 64px; }
.site-brand { display: inline-flex; align-items: center; gap: .65rem; margin-right: 2rem; }
.site-brand img { width: 29px; height: 29px; }
.site-brand span { display: flex; flex-direction: column; gap: .2rem; line-height: 1; }
.site-brand strong { color: var(--site-ink); font-size: 1.05rem; font-weight: 750; letter-spacing: -.045em; }
.site-brand small { color: var(--site-muted); font-size: .64rem; letter-spacing: .02em; }
.site-navbar .nav-link { border-radius: .5rem; color: var(--site-muted); font-size: .84rem; font-weight: 550; padding: .6rem .7rem !important; transition: color .15s, background .15s; }
.site-navbar .nav-link:hover, .site-navbar .nav-link:focus, .site-navbar .nav-link[aria-current="page"] { background: var(--site-accent-soft); color: #244a39; }
.site-navbar .navbar-toggler { padding: .4rem .5rem; border-color: var(--site-border); border-radius: .55rem; }
.site-navbar .navbar-toggler-icon { width: 1.2em; height: 1.2em; }
.site-dropdown { padding: .4rem; border: 1px solid var(--site-border); border-radius: .75rem; box-shadow: 0 12px 30px #22312612; }
.site-dropdown .dropdown-item { border-radius: .4rem; padding: .6rem .75rem; font-size: .9rem; }
.site-dropdown .dropdown-item:active { background: var(--site-accent); }
.card { border-color: var(--site-border); border-radius: 1rem; box-shadow: 0 3px 12px #22312603; }
.card-header { border-color: var(--site-border); background: #eef2eb; }
.btn { border-radius: .6rem; padding: .65rem 1rem; font-size: .9rem; font-weight: 600; }
.btn-primary { --bs-btn-bg: #2e634c; --bs-btn-border-color: #2e634c; --bs-btn-hover-bg: #244e3b; --bs-btn-hover-border-color: #244e3b; --bs-btn-active-bg: #1b3d2d; --bs-btn-active-border-color: #1b3d2d; --bs-btn-disabled-bg: #2e634c; --bs-btn-disabled-border-color: #2e634c; --bs-btn-focus-shadow-rgb: 46,99,76; }
.btn-outline-secondary { --bs-btn-color: #46574d; --bs-btn-border-color: #c8d1c5; --bs-btn-hover-color: #233a2c; --bs-btn-hover-bg: #e9efe4; --bs-btn-hover-border-color: #b5c5af; }
.form-control, .form-select { border-color: var(--site-border); border-radius: .6rem; padding: .65rem .85rem; }
.form-select { padding-right: 2.5rem; }
.form-control:focus, .form-select:focus { border-color: #73937c; box-shadow: 0 0 0 .2rem #2e634c16; }
.alert { border-radius: .7rem; font-size: .88rem; line-height: 1.65; }
.site-footer { margin-top: 4rem; padding: 1.6rem 0; border-top: 1px solid var(--site-border); color: var(--site-muted); font-size: .77rem; }
.site-footer-links { display: inline-flex; flex-wrap: wrap; gap: 1.3rem; }
.site-footer a { color: var(--site-muted); text-decoration: none; }
.site-footer a:hover { color: var(--site-accent); }
.title { text-align: center; }
.content > .title { padding: 3rem 1rem 1rem; font-size: clamp(2rem,5vw,3.2rem); }
.retired-page { min-height: 70vh; display: grid; place-items: center; padding: 3rem 1rem; }
.retired-card { width: min(620px,100%); padding: 3.5rem 2rem; border: 1px solid var(--site-border); border-radius: 1.25rem; background: var(--site-surface); text-align: center; }
.retired-card h1 { font-size: clamp(2rem,7vw,4rem); margin: 1rem 0; }
.retired-card p { color: var(--site-muted); font-size: 1.05rem; }
.retired-card .retired-punchline { color: var(--site-ink); font-size: 1.4rem; font-weight: 700; }
.retired-badge { display: inline-block; padding: .4rem .7rem; border-radius: .4rem; color: #6e5d26; background: #f5edcc; font: 650 .75rem/1.3 monospace; letter-spacing: .08em; }
@media (min-width: 1200px) { .container-xl { max-width: 1160px; } }
@media (max-width: 1199.98px) {
    .site-navbar .navbar-collapse { padding: .75rem 0; }
    .site-navbar .navbar-nav { gap: .2rem; }
    .site-navbar .dropdown-menu { margin-bottom: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
