/* Shared public/admin header experiment. Keep controls above the hero and its wave. */
.site-header.has-search{height:56px;min-height:56px;position:relative;z-index:30;overflow:visible;background:#58a0a7;color:#fff;flex-shrink:0}
.site-header.has-search .site-brand{position:absolute;left:50%;transform:translateX(-50%);margin:0;font:400 21px/1 'Krona One',sans-serif;white-space:nowrap;color:#fff;transition:opacity .18s}
.is-home .site-header.has-search{position:absolute;background:transparent;inset:0 0 auto;z-index:30}
.header-account{position:absolute;right:12px;top:6px;height:44px;display:flex;align-items:center;gap:6px}
.header-account[hidden]{display:none}
.header-avatar-wrap{position:relative;display:flex;align-items:center;width:44px;height:44px}
.site-header .header-workspace{position:static;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:4px;border:0;border-radius:50%;color:#fff;background:none;line-height:1;text-decoration:none}
.header-workspace img,.header-avatar-initial{display:flex;align-items:center;justify-content:center;flex-shrink:0;object-fit:cover;width:36px;height:36px;border-radius:50%;outline:0}
.header-avatar-initial{font:700 17px/1 'Merriweather Sans',sans-serif;background:#427f85;color:white}
.site-header .header-review-badge{position:absolute;right:-3px;top:-2px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;padding:0 4px;background:#994d37;color:#fff;border:2px solid #fff;border-radius:12px;font:700 11px/1 'Merriweather Sans',sans-serif;text-decoration:none;box-shadow:0 2px 5px #26444a25}
.header-review-badge[hidden]{display:none!important}
.site-header .header-edit{display:flex;width:38px;height:44px;align-items:center;justify-content:center;border-radius:12px;color:white;text-decoration:none}
.header-edit:hover,.header-workspace:hover{background:#ffffff24}
.header-account a:focus-visible,.header-search button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.header-search{position:absolute;left:12px;top:6px;width:44px;height:44px;z-index:2;transition:width .26s cubic-bezier(.2,.7,.2,1);font-family:'Merriweather Sans',sans-serif}
.header-search.is-open{width:min(420px,calc(100vw - 130px))}
.header-search form{display:flex;width:100%;height:44px;align-items:center;border-radius:24px;background:transparent;transition:background .18s,box-shadow .18s}
.header-search.is-open form{background:#fff;box-shadow:0 4px 20px #23494e20}
.header-search-toggle{display:flex;align-items:center;justify-content:center;flex:0 0 44px;height:44px;border:0;border-radius:50%;padding:0;background:transparent;color:white;cursor:pointer}
.header-search.is-open .header-search-toggle{color:#43868e}
.header-search-field{display:flex;flex:1;align-items:center;min-width:0;overflow:hidden}
.header-search-field[hidden]{display:none}
.header-search input{display:block;box-sizing:border-box;flex:1;width:0;min-width:0;border:0;outline:0;background:transparent;color:#344c4f;padding:8px 0;font:400 16px/1.4 'Merriweather Sans',sans-serif}
.header-search input::-webkit-search-cancel-button{display:none}
.header-search-close{flex:0 0 34px;height:36px;border:0;border-radius:50%;background:transparent;color:#769395;font-size:24px;padding:0;cursor:pointer}
.header-search-panel{position:absolute;top:54px;left:0;width:min(440px,calc(100vw - 24px));border:1px solid #d3e3e4;background:#fff;color:#344c4f;border-radius:18px;box-shadow:0 14px 45px #1e45442a;overflow:hidden;animation:search-panel-in .16s ease-out;text-align:left}
.header-search-panel[hidden]{display:none}
.header-search-status{margin:0;padding:14px 18px 9px;font:400 11px/1.5 'Merriweather Sans',sans-serif;color:#7c9394;letter-spacing:.03em}
.header-search-panel ul{padding:0 8px;margin:0;list-style:none;max-height:min(340px,calc(100svh - 200px));overflow-y:auto;overscroll-behavior:contain}
.header-search-panel li{border-radius:12px}
.header-search-panel li>a{position:relative;display:grid;gap:5px;padding:12px 30px 12px 10px;border-radius:12px;color:#344c4f;text-decoration:none}
.header-search-panel li>a:hover,.header-search-panel li>a:focus-visible,.header-search-panel li[aria-selected=true]>a{background:#edf5f5;color:#337780;outline:0}
.search-hit-title{font:700 14px/1.4 'Merriweather Sans',sans-serif}
.header-search-panel small{font:300 11px/1.4 'Merriweather Sans',sans-serif;color:#7c9394}
.search-hit-arrow{position:absolute;right:12px;top:15px;color:#7faeb1;font-size:16px}
.header-search-panel .header-search-all{display:block;padding:14px 18px;margin-top:8px;background:#f5f9f9;border-top:1px solid #e1ecec;font:400 12px/1.5 'Merriweather Sans',sans-serif;color:#43868e;text-decoration:none}
.header-search-panel .header-search-all:hover{color:#285c62;background:#edf5f5}
@keyframes search-panel-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.site-header.has-search.searching .site-brand{opacity:0;pointer-events:none;visibility:hidden}}
@media(max-width:600px){.site-header.has-search .site-brand{font-size:18px}.header-search{left:8px}.header-account{right:8px}.header-search-panel{width:calc(100vw - 16px)}.header-search.is-open{width:calc(100vw - 116px)}}
@media(max-width:360px){.site-header.has-search .site-brand{font-size:16px}}
@media(prefers-reduced-motion:reduce){.header-search,.header-search form,.site-header.has-search .site-brand{transition:none}.header-search-panel{animation:none}}
/* Search annotations exist only in the reader DOM. */
.reader-search-match{background:#fff0ac;color:inherit;border-radius:2px;scroll-margin:80px 0}
.reader-search-match.is-current{background:#ffda70;box-shadow:0 0 0 2px #b68220}
.reader-search-controls{position:fixed;z-index:80;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:8px 12px;border:1px solid #c9dfe0;border-radius:30px;background:#fff;color:#344c4f;box-shadow:0 5px 24px #23494e30;font:400 13px/1.4 'Merriweather Sans',sans-serif}
.reader-search-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reader-search-controls [role=status]{white-space:nowrap}
.reader-search-controls button{flex-shrink:0;min-width:34px;height:34px;border:0;border-radius:50%;background:#edf5f5;color:#337780;font-size:20px;cursor:pointer}
.reader-search-controls button:disabled{opacity:.35;cursor:default}
.reader-search-controls button:focus-visible{outline:2px solid #337780;outline-offset:2px}
@media(max-width:600px){.reader-search-controls{gap:6px;padding:6px 8px}.reader-search-label{max-width:90px}}
