/* Site additions to the v6 design. style.css stays the frozen sketch; everything the live site
   adds (self-hosted Figtree, the full menu, former inline styles, new pages) lives here. */

/* Figtree, self-hosted: @fontsource-variable/figtree 5.3.0, SIL OFL 1.1 (fonts/OFL-Figtree.txt). */
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url("fonts/figtree-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url("fonts/figtree-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Figtree;font-style:italic;font-weight:300 900;font-display:swap;src:url("fonts/figtree-latin-ext-wght-italic.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Figtree;font-style:italic;font-weight:300 900;font-display:swap;src:url("fonts/figtree-latin-wght-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Former inline style attributes: the CSP allows stylesheets only. */
.twinkle.tw-1{left:24%;top:31%}
.twinkle.tw-2{left:66%;top:63%}
.twinkle.tw-3{left:41%;top:22%}
.band-gap{margin-top:4.4rem}
.band-format{margin-top:4rem;border-top:1px solid var(--rule)}

/* Sub-menus: a chevron after a top-level link opens its child pages. */
.subnav{position:relative;display:inline-flex}
.subnav summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:28px;margin-left:-.7rem;cursor:pointer;color:var(--header-ink)}
.subnav summary::-webkit-details-marker{display:none}
.subnav summary::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.subnav[open] summary::before{transform:translateY(2px) rotate(-135deg)}
.subnav-list{position:absolute;top:calc(100% + 5px);left:-1rem;z-index:11;display:grid;min-width:260px;background:var(--header);border:1px solid var(--header-rule);border-top:3px solid var(--accent);box-shadow:0 8px 20px #0005}
.mainnav .subnav-list a{min-height:46px;display:flex;padding:0 1rem;border-top:1px solid var(--header-rule)}
.mainnav .subnav-list a:first-child{border-top:0}
.mainnav .subnav-list a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--accent)}
.mainnav a[aria-current="true"]{box-shadow:inset 0 -3px 0 var(--accent)}

/* Account links, right of the bar. */
.bar-end{align-items:center;gap:1.2rem}
.acct{display:flex;gap:.2rem}
.acct a{display:inline-flex;align-items:center;min-height:44px;padding:0 .6rem;color:var(--header-ink);text-decoration:none;font-size:.95rem}
.acct a:hover{text-decoration:underline;text-underline-offset:.3em}
.acct a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--accent)}

/* Mobile menu extras: child pages indented, an Account group. */
.mobile-menu nav a.sub{padding-left:2rem;font-size:.95rem}
.mobile-menu .menu-group{display:flex;align-items:flex-end;min-height:34px;padding:.5rem 1rem .3rem;border-top:1px solid var(--header-rule);font-family:"Umbris Mono",monospace;font-size:var(--fs-2xs);color:var(--header-muted)}

/* The full menu needs more room than the sketch's four links: collapse to the Menu button sooner. */
@media(max-width:1080px){
  .mainnav,.acct{display:none}
  .mobile-menu{display:block;position:relative}
  .mobile-menu summary{list-style:none;min-height:44px;display:flex;align-items:center;gap:.45rem;cursor:pointer;color:var(--header-ink);font-size:1rem}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary::before{content:"";width:16px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat}
  .mobile-menu nav{position:absolute;top:calc(100% + 5px);left:-1rem;display:grid;min-width:260px;max-height:calc(100vh - var(--bar) - 1rem);overflow-y:auto;background:var(--header);border:1px solid var(--header-rule);border-top:3px solid var(--accent);box-shadow:0 8px 20px #0005}
  .mobile-menu nav a{min-height:46px;display:flex;align-items:center;padding:0 1rem;color:var(--header-ink);text-decoration:none;border-top:1px solid var(--header-rule)}
  .mobile-menu nav a:first-child{border-top:0}
  .mobile-menu nav a[aria-current="page"],.mobile-menu nav a[aria-current="true"]{box-shadow:inset 3px 0 0 var(--accent)}
  /* Home: the travelling wordmark (.dock-mark, fixed, z-index 11) sits above the sticky masthead (z-index 10),
     a stacking context the Menu cannot leave. While the Menu is open (site.js sets .menu-open) the dock drops
     below the bar, so the Menu covers it; it stays above the page, and back in the bar once the Menu closes. */
  .menu-open .dock-mark{z-index:9}
}

/* Sign up (inactive) and the 404 page. */
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-solid[disabled]:hover{background:var(--header-ink);border-color:var(--header-ink);color:var(--plate)}
.notice-box{margin:0 0 4rem;padding:1.4rem 1.6rem;border:2px solid var(--rule-strong);background:var(--surface);max-width:68ch}
.notice-box p{margin:0 0 .8rem}
.notice-box p:last-child{margin-bottom:0}
