/* Shared public navigation. It is loaded after page-specific CSS deliberately. */
.public-header.site-header{position:sticky;top:0;z-index:100;min-height:76px;height:76px;padding:0 clamp(24px,4vw,72px);display:flex;align-items:center;gap:34px;background:rgba(255,253,248,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e7e2da;color:#1d2031}
.public-header .brand{flex:0 0 auto;color:#1d2031;text-decoration:none;font:700 24px/1 "DM Sans",Arial,sans-serif;letter-spacing:-1.45px;white-space:nowrap}.public-header .brand span{color:#ff705c}
.public-header .header-nav{display:flex;align-items:center;gap:28px;min-width:0;flex:1;height:100%}.public-header .header-nav-link{position:relative;display:inline-flex;align-items:center;min-height:40px;padding:0;color:#1d2031;background:transparent;border:0;text-decoration:none;white-space:nowrap;font:500 16px/1 "DM Sans",Arial,sans-serif;letter-spacing:-.2px;cursor:pointer}.public-header .header-nav-link:hover,.public-header .header-nav-link:focus-visible{color:#ff705c;outline:0}.public-header .header-nav-link.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:#ff705c;border-radius:2px}.public-header .header-nav-link.is-active{font-weight:700}
.public-header .header-genre-menu{position:relative;height:100%;display:flex;align-items:center}.public-header .header-genre-toggle span{display:inline-block;margin-left:5px;font-size:18px;line-height:1;transform:translateY(-1px);transition:transform .18s ease}.public-header .header-genre-toggle[aria-expanded="true"] span{transform:translateY(-1px) rotate(180deg)}.public-header .header-more-genres{position:absolute;top:calc(100% - 4px);left:-16px;z-index:110;width:390px;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:13px;background:#fffdf8;border:1px solid #e7e2da;border-radius:14px;box-shadow:0 20px 50px #1d203122}.public-header .header-more-genres[hidden]{display:none}.public-header .header-menu-link{padding:10px 11px;color:#1d2031;border-radius:8px;text-decoration:none;font:500 14px/1.25 "DM Sans",Arial,sans-serif}.public-header .header-menu-link:hover,.public-header .header-menu-link:focus-visible,.public-header .header-menu-link.is-active{background:#f8f5ef;color:#1d2031;outline:0}
.public-header .header-actions{display:flex;align-items:center;gap:18px;flex:0 0 auto}.public-header .header-search{width:26px;height:34px;display:grid;place-items:center;color:#1d2031}.public-header .header-search span{width:18px;height:18px;border:2px solid currentColor;border-radius:50%;position:relative}.public-header .header-search span:after{content:"";position:absolute;width:9px;height:2px;right:-7px;bottom:-4px;background:currentColor;transform:rotate(-48deg);border-radius:2px}.public-header .header-search:hover,.public-header .header-search:focus-visible{color:#ff705c;outline:0}.public-header .saved-button{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;background:#1d2031;border:0;border-radius:999px;color:#fff;text-decoration:none;white-space:nowrap;font:700 14px/1 "DM Sans",Arial,sans-serif}.public-header .saved-button:hover,.public-header .saved-button:focus-visible{background:#30354a;outline:0}.public-header .saved-button b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#ff705c;color:#fff;font:700 12px/1 "DM Sans",Arial,sans-serif}.public-header .header-mobile-authors{display:none}
@media(max-width:1080px){.public-header.site-header{gap:24px;padding-inline:24px}.public-header .header-nav{gap:20px}.public-header .header-nav-link{font-size:14px}}
@media(max-width:860px){.public-header.site-header{min-height:62px;height:62px;padding:0 16px;gap:14px;justify-content:space-between}.public-header .brand{font-size:21px}.public-header .header-nav{display:none}.public-header .header-mobile-authors{display:inline-flex;align-items:center;min-height:36px;color:#1d2031;text-decoration:none;font:700 13px/1 "DM Sans",Arial,sans-serif}.public-header .header-mobile-authors.is-active{color:#ff705c}.public-header .header-actions{gap:8px}.public-header .header-search{display:none}.public-header .saved-button{padding:9px 11px;font-size:0}.public-header .saved-button b{min-width:20px;height:20px;font-size:12px}}
