:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#111;--color-bg:#fff;--color-bg-page:#fafaf8;--color-bg-soft:#f6f6f2;--color-bg-elevated:#ffffffd6;--color-bg-panel:#fff;--color-border:#e8e4dc;--color-border-strong:#d8d1c5;--color-text:#111;--color-muted:#555f5b;--color-subtle:#8a8378;--color-accent:#4f7d69;--color-accent-strong:#335f4d;--color-accent-soft:#edf4ef;--color-sand:#efe7da;--color-warning:#a87300;--color-danger:#d83b01;--shadow-soft:0 18px 48px #382c1e12;--shadow-hover:0 22px 60px #382c1e1a;--radius-lg:8px;--radius-md:6px;--radius-sm:4px;--layout-max:1120px;--layout-wide:1180px;--content-max:760px;--page-pad:clamp(24px, 5vw, 56px);--section-pad-top:clamp(96px, 10vw, 118px);--section-pad-bottom:clamp(64px, 8vw, 84px);background:#fafaf8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--color-text);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:linear-gradient(#fafaf8 0%,#fff 48%,#fafaf8 100%);margin:0;font-family:inherit}#root{flex-direction:column;min-height:100vh;display:flex}button,input,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--color-text)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}h1,h2,h3,p{margin-top:0}img{max-width:100%}.route-fallback{min-height:calc(100vh - 57px);color:var(--color-muted);place-items:center;padding:32px;display:grid}.page-header{width:min(var(--content-max), 100%);text-align:center;margin:0 auto}.page-eyebrow,.section-kicker{color:var(--color-accent);letter-spacing:0;text-transform:uppercase;margin-bottom:12px;font-size:.78rem;font-weight:750}.page-title{color:var(--color-text);letter-spacing:0;text-wrap:balance;margin-bottom:16px;font-size:clamp(2.35rem,5vw,4rem);font-weight:760;line-height:1.08}.page-description{max-width:660px;color:var(--color-muted);margin:0 auto;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.75}.visited-count{color:var(--color-muted);vertical-align:middle;margin-left:12px;font-size:.34em;font-weight:650;display:inline-flex}.empty-state{width:min(720px,100%);min-height:210px;color:var(--color-muted);text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-soft);place-items:center;margin:32px auto 0;padding:36px;display:grid}.empty-state-title{color:var(--color-text);margin-bottom:8px;font-size:1.08rem;font-weight:700}.empty-state-description{max-width:430px;margin-bottom:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){:root{--page-pad:20px;--section-pad-top:88px;--section-pad-bottom:56px}.page-title{font-size:clamp(2.05rem,10vw,2.625rem);line-height:1.12}.visited-count{justify-content:center;margin-top:10px;margin-left:0;font-size:.4em;display:flex}}@media print{.no-print{display:none!important}body{color:#000!important;background:#fff!important}}.fade-in{opacity:0;animation:.45s ease-out forwards fadeIn}.reveal-up{opacity:0;animation:.55s ease-out forwards revealUp;transform:translateY(16px)}@keyframes fadeIn{to{opacity:1}}@keyframes revealUp{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.footer{width:min(var(--layout-wide), calc(100% - (var(--page-pad) * 2)));color:var(--color-subtle);text-align:center;-webkit-user-select:none;user-select:none;border-top:1px solid var(--color-border);background:0 0;justify-content:space-between;align-items:center;gap:18px;margin:auto auto 0;padding:20px 0 28px;font-size:.86rem;font-weight:600;display:flex}.footer nav{align-items:center;gap:14px;display:flex}.footer a{color:var(--color-muted);transition:color .2s}.footer a:hover{color:var(--color-text)}@media (width<=640px){.footer{width:calc(100% - (var(--page-pad) * 2));text-align:left;flex-direction:column;align-items:flex-start;gap:10px;padding-top:18px}}
