.skip-link {
    position: fixed; top: 10px; left: 10px; z-index: 20;
    padding: 9px 12px; background: var(--ink); color: var(--paper);
    font: 700 .8rem/1 var(--mono); transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }
.public-page a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 1px; }
.public-header, .public-page .site-footer {
    width: min(980px, calc(100% - 40px)); margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
}
.public-header { height: 72px; border-bottom: 1px solid var(--line); }
.public-header nav { display: flex; align-items: center; gap: 26px; }
.public-header .brand { display: inline-flex; align-items: baseline; font: 700 1rem/1 var(--mono); letter-spacing: -.04em; }
.public-header .brand-prompt { margin-right: 3px; color: var(--muted); font-weight: 400; }
.public-header .brand-name { color: var(--ink); }
.public-header .brand-dot { color: var(--accent); }
.public-header nav a { display: flex; align-items: center; gap: 10px; font: .76rem/1 var(--mono); }
.public-header .nav-path { color: var(--muted); }
.public-header .nav-label { padding: 5px 0; border-bottom: 1px solid var(--accent); }
.public-page .site-footer { min-height: 84px; border-top: 1px solid var(--line); color: var(--muted); font: .72rem/1.5 var(--mono); }
.footer-path { color: var(--ink); }

@media (max-width: 760px) {
    .public-header, .public-page .site-footer { width: calc(100% - 28px); }
    .public-header { height: 62px; }
    .public-header .nav-path { display: none; }
    .public-page .site-footer { align-items: flex-start; flex-direction: column; justify-content: center; gap: 5px; }
}
