/* Shared public header; selectors are isolated from individual page themes. */
html.family-header-enabled body>header,html.family-header-enabled body>#origin-return-bar,html.family-header-enabled body>#world-return-bar,html.family-header-enabled body>.game-family,html.family-header-enabled body>.practice-return,html.family-header-enabled body>.context-nav{display:none!important}
#family-site-header{display:block;position:sticky;top:0;z-index:2147483003;width:100%;max-width:none;margin:0;padding:0;background:#fff;color:#123f45;border-bottom:1px solid #d6e2df;font:500 15px/1.4 system-ui,'Yu Gothic',Meiryo,sans-serif;box-sizing:border-box;text-align:left;letter-spacing:normal}
#family-site-header[hidden]{display:none!important}
#family-site-header *{box-sizing:border-box}
#family-site-header .family-header-row{display:flex;align-items:center;gap:18px;max-width:1800px;margin:0 auto;padding:14px 24px}
#family-site-header a{color:#123f45;text-decoration:none;box-shadow:none;transform:none;margin:0;cursor:pointer;letter-spacing:normal}
#family-site-header a:hover{color:#a65c17;background:#f7f5ee}
#family-site-header a:focus-visible,#family-site-header summary:focus-visible{outline:3px solid #cf9a33;outline-offset:3px}
#family-site-header .family-brand{display:flex;align-items:center;gap:10px;flex:none;border:0;background:none;padding:0}
#family-site-header .family-piece{display:grid;place-items:center;width:42px;height:52px;clip-path:polygon(50% 0,100% 24%,100% 100%,0 100%,0 24%);background:#174947;color:#ffe29d;font:700 29px/1 serif}
#family-site-header .family-brand-text strong{display:block;font-size:23px;font-weight:800;white-space:nowrap}
#family-site-header .family-brand-text small{display:block;font-size:11px;color:#637e80;margin-top:4px}
#family-site-header .family-services{position:relative;flex:1;min-width:0;margin:0;padding:0;border:0;background:none;color:inherit}
#family-site-header .family-services summary{display:none}
#family-site-header .family-services nav{display:flex!important;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 12px;padding:0;margin:0;border:0;background:none;width:auto}
#family-site-header .family-services nav a{display:inline-flex;align-items:center;min-height:36px;padding:4px 2px;font-size:14px;font-weight:700;white-space:nowrap;border:0;border-radius:3px}
#family-site-header .family-actions{display:flex;align-items:center;justify-content:flex-end;flex:none;gap:8px;margin:0 0 0 auto;padding:0;width:auto;border:0;background:none}
#family-site-header .family-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 11px;font-size:13px;font-weight:700;border:1px solid #b9d0c9;border-radius:8px;background:#fff;text-align:center;white-space:nowrap}
#family-site-header .family-actions .family-organizer{color:#a55e16;border-color:#d8b683}
#family-site-header .family-actions a[aria-disabled=true]{opacity:.45!important;cursor:default;pointer-events:none}
#family-site-header .family-header-sub{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:0 24px 7px;max-width:1800px;margin:auto;font-size:13px}
#family-site-header .family-header-sub:has(.family-back[hidden]):has(.family-member-name[hidden]){display:none}
#family-site-header .family-back{padding:4px 12px;border:1px solid #c6d9d3;border-radius:6px;min-height:32px;display:inline-flex;align-items:center;font-weight:700}
#family-site-header [hidden]{display:none!important}
#family-site-header .family-member-name{margin-left:auto;overflow-wrap:anywhere}
@media(max-width:1100px){
 #family-site-header .family-header-row{gap:12px;padding:10px 16px}
 #family-site-header .family-services{flex:none}
 #family-site-header .family-services summary{display:flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer;font-size:13px;font-weight:700;padding:8px;border:1px solid #bdd2cb;border-radius:7px;list-style:none}
 #family-site-header .family-services summary::-webkit-details-marker{display:none}
 #family-site-header .family-services summary:after{content:' ▾';margin-left:4px}
 #family-site-header .family-services:not([open]) nav{display:none!important}
 #family-site-header .family-services[open] nav{display:grid!important;grid-template-columns:1fr 1fr;position:fixed;left:12px;right:12px;top:var(--family-menu-top,78px);padding:12px;gap:6px;background:#fff;border:1px solid #c5d7d0;border-radius:10px;box-shadow:0 12px 30px #0002;max-height:65dvh;overflow:auto}
 #family-site-header .family-services nav a{min-height:44px;padding:8px;font-size:14px}
}
@media(max-width:600px){
 #family-site-header .family-header-row{gap:6px;padding:8px}
 #family-site-header .family-brand-text{display:none}
 #family-site-header .family-piece{width:29px;height:37px;font-size:23px}
 #family-site-header .family-services summary{font-size:11px;padding:5px;min-height:42px}
 #family-site-header .family-actions{gap:4px;flex:1;min-width:0}
 #family-site-header .family-actions a{font-size:11px;padding:5px;min-height:42px;border-radius:6px}
 #family-site-header .family-actions .family-organizer{max-width:90px;white-space:normal}
 #family-site-header .family-header-sub{padding:0 8px 6px;font-size:12px}
 #family-site-header .family-services[open] nav{top:62px}
}
html.family-header-enabled #entry{padding-top:18px}
html.family-header-enabled{scroll-padding-top:115px}

html.family-header-enabled:has(#entry),html.family-header-enabled:has(#entry) body{height:auto;min-height:100%;overflow-y:auto}
html.family-header-enabled #entry{height:auto;min-height:calc(100dvh - 110px)}
