/* === BRIEF-header-logo.md section 2 (verbatim) === */
.gn-logo .lg-text { display: none; }
.gn-logo .lg-pic { display: contents; }
@media (min-width: 601px) {
  header.site.gn .wrap { height: 64px; transition: height .3s ease; }
  header.site .gn-logo { align-items: flex-end; gap: 4px; padding-bottom: 0; }
  header.site .gn-logo .lg-turtle { height: 40px; width: auto; }
  header.site .gn-logo .lg-word   { height: 25px; width: auto; margin-bottom: 2px; }
  header.site.gn .gn-drop { top: 64px; }
  header.site.is-small {
    background: rgba(255,255,255,.8);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    box-shadow: 0 1px 0 rgba(0,0,0,.08);
  }
  header.site.gn.is-small .wrap { height: 52px; }
  header.site.gn.is-small .gn-drop { top: 52px; }
  header.site.is-small .gn-logo { align-items: center; }
  header.site.is-small .lg-turtle,
  header.site.is-small .lg-word { display: none; }
  header.site.is-small .lg-text {
    display: inline;
    font-weight: 800; font-size: 21px; letter-spacing: -.035em;
    color: #1d1d1f; white-space: nowrap;
    animation: tl-logo-in .25s ease;
  }
}
@keyframes tl-logo-in { from { opacity: 0 } to { opacity: 1 } }
@media (prefers-reduced-motion: reduce) {
  header.site.gn .wrap { transition: none; }
  header.site.is-small .lg-text { animation: none; }
}
/* === Audit fixes (mock) === */
header.site.gn .wrap { align-items:center; }
header.site.gn .gn-logo { display:flex; align-self:center; line-height:1; }
html body header.site.gn.gn .main-nav a { font-size:14px; font-weight:400; color:#424245; }
html body header.site.gn.gn .main-nav a.nav-on,
html body header.site.gn.gn .main-nav a[aria-current="page"] { color:#1d1d1f; font-weight:500; box-shadow:inset 0 -2px 0 #1d1d1f; }
html body header.site.gn.gn a.nav-cta { font-size:14px; font-weight:500; padding:8px 16px; line-height:20px; }
header nav.gn-drop a[aria-current="page"] { color:#1e8e3e; }
@media (max-width:600px){
  html body header.site.gn.gn a.nav-cta { min-height:44px; display:inline-flex; align-items:center; padding:0 16px; }
  html body header.site.gn.gn .gn-menu summary { min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; padding:0; }
}
/* conflict fix: legacy rule header.site.gn{box-shadow:none!important} would kill the brief's hairline */
@media (min-width:601px){ header.site.gn.is-small{ box-shadow:0 1px 0 rgba(0,0,0,.08)!important; } }
@media (min-width:601px){ header.site.gn:not(.is-small){ background:#fff; } }
/* Log in: follows html[data-login]; style only when shown (tablet/desktop) */
@media (min-width:834px){ html[data-login=on] body header.site.gn.gn .nav-right .login-link{display:inline-flex;align-items:center;font-size:14px;font-weight:400;color:#6e6e73;min-height:44px} }
html body header.site.gn.gn a.nav-cta{background:#1e8e3e;color:#fff}
html body header.site.gn.gn a.nav-cta:hover{background:#18793a}
html body header.site.gn.gn .main-nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 #1d1d1f!important}
header.site .gn-logo .lg-turtle{width:auto}
/* Phone scrolled: word logo only, same as desktop scrolled */
@media (max-width:600px){
  header.site.gn .wrap{transition:height .3s ease}
  header.site.gn.is-small{background:rgba(255,255,255,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 1px 0 rgba(0,0,0,.08)!important}
  header.site.gn.is-small .wrap{height:56px}
  header.site.gn.is-small .gn-drop{top:56px}
  header.site.is-small .gn-logo{align-items:center}
  header.site.is-small .lg-turtle,header.site.is-small .lg-word{display:none}
  header.site.is-small .lg-text{display:inline;font-weight:800;font-size:21px;letter-spacing:-.035em;color:#1d1d1f;white-space:nowrap;animation:tl-logo-in .25s ease}
}
@media (max-width:600px) and (prefers-reduced-motion:reduce){header.site.gn .wrap{transition:none}header.site.is-small .lg-text{animation:none}}
/* Soft page transition sitewide (header CTA and all internal links): 300ms cross-fade */
@view-transition{navigation:auto}
/* overrides global.css lines 450-451, which switched the root cross-fade off */
::view-transition-old(root){display:block;animation:tl-vt-out .3s ease both}
::view-transition-new(root){animation:tl-vt-in .3s ease both}
@keyframes tl-vt-out{from{opacity:1}to{opacity:0}}@keyframes tl-vt-in{from{opacity:0}to{opacity:1}}
@supports not (view-transition-name:none){main{animation:tl-page-in .3s ease both}}
@keyframes tl-page-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){::view-transition-old(root){display:none;animation:none}::view-transition-new(root){animation:none}main{animation:none!important}}
/* Smooth logo swap: both logos stay in one box (no layout shift), cross-fade 280ms, bar height in sync */
header.site.gn .gn-logo{position:relative}
header.site.gn .gn-logo .lg-turtle,header.site.gn .gn-logo .lg-word{transition:opacity .28s ease,transform .28s ease;transform-origin:left center}
header.site.gn .gn-logo .lg-text{display:inline!important;position:absolute;left:0;top:50%;transform:translateY(-50%) scale(.96);transform-origin:left center;opacity:0;pointer-events:none;animation:none!important;
  font-weight:800;font-size:21px;letter-spacing:-.035em;color:#1d1d1f;white-space:nowrap;transition:opacity .28s ease,transform .28s ease}
header.site.gn.is-small .gn-logo .lg-turtle,header.site.gn.is-small .gn-logo .lg-word{display:block!important;opacity:0;transform:scale(.96);pointer-events:none}
header.site.gn.is-small .gn-logo .lg-text{opacity:1;transform:translateY(-50%) scale(1)}
header.site.gn.is-small .gn-logo{align-items:flex-end}
@media (min-width:601px){header.site.gn .wrap{transition:height .28s ease}header.site.gn.is-small .gn-logo{align-items:flex-end}}
@media (max-width:600px){header.site.gn .wrap{transition:height .28s ease}header.site.gn.is-small .gn-logo .lg-turtle{transform:translateY(5px) scale(.96)}}
header.site.gn{transition:background-color .28s ease,box-shadow .28s ease}
@media (prefers-reduced-motion:reduce){header.site.gn,header.site.gn .wrap,header.site.gn .gn-logo .lg-turtle,header.site.gn .gn-logo .lg-word,header.site.gn .gn-logo .lg-text{transition:none!important}}
/* In-page changes fade instead of jumping (new nodes re-trigger the animation on each render) */
@keyframes tl-soft-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.ptool-chart #out>*,.ptool-cal #out>*,#list>*,.pb .pb-grid,.pb .pb-done,.pb .pb-exact,.pb .pb-hrs,#day-wheel:not([hidden]),.bfc [id$=ex]:not([hidden]){animation:tl-soft-in .28s ease both}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ptool-chart #out>*,.ptool-cal #out>*,#list>*,.pb .pb-grid,.pb .pb-done,.pb .pb-exact,.pb .pb-hrs,#day-wheel,.bfc [id$=ex]{animation:none!important}}

/* === Burger menu motion (tl-menu.js) === */
:root{--tl-spring:cubic-bezier(.34,1.36,.64,1);--tl-ease:cubic-bezier(.28,.11,.32,1);--tl-out:cubic-bezier(.4,0,1,1)}
.tl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header.site .gn-menu summary:before{content:none!important;display:none!important}
header.site .gn-menu summary{-webkit-tap-highlight-color:transparent}
.tl-bars{position:relative;display:block;width:22px;height:16px}
.tl-bars i{position:absolute;left:0;width:22px;height:2.5px;border-radius:2px;background:#1d1d1f;
  transition:transform .3s var(--tl-spring),opacity .2s var(--tl-ease),top .3s var(--tl-spring)}
.tl-bars i:nth-child(1){top:0}.tl-bars i:nth-child(2){top:6.75px}.tl-bars i:nth-child(3){top:13.5px}
.gn-menu.is-open .tl-bars i:nth-child(1){top:6.75px;transform:rotate(45deg)}
.gn-menu.is-open .tl-bars i:nth-child(2){opacity:0;transform:scaleX(.2)}
.gn-menu.is-open .tl-bars i:nth-child(3){top:6.75px;transform:rotate(-45deg)}
/* sheet */
html body header.site.gn .gn-menu[open]>.gn-drop{display:flex}
html body header.site.gn .gn-drop{
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  box-shadow:0 18px 40px rgba(0,0,0,.08),0 1px 0 rgba(0,0,0,.05);
  opacity:0;transform:translateY(-10px);transform-origin:top center;
  transition:opacity .2s var(--tl-out),transform .2s var(--tl-out);will-change:opacity,transform}
html body header.site.gn .gn-menu.is-open>.gn-drop{opacity:1;transform:none;
  transition:opacity .32s var(--tl-ease),transform .42s var(--tl-ease)}
header.site.gn nav.gn-drop a{opacity:0;transform:translateY(10px);
  transition:opacity .12s var(--tl-out),transform .12s var(--tl-out)}
header.site.gn .gn-menu.is-open nav.gn-drop a{opacity:1;transform:none;
  transition:opacity .36s var(--tl-ease) calc(60ms + var(--i,0)*35ms),transform .46s var(--tl-ease) calc(60ms + var(--i,0)*35ms)}
header.site.gn .gn-menu.is-open nav.gn-drop a.gn-sub{transform:none}
header.site.gn nav.gn-drop a.gn-sub{transform:translateY(6px)}
header.site.gn nav.gn-drop a:nth-child(1){--i:0}header.site.gn nav.gn-drop a:nth-child(2){--i:1}
header.site.gn nav.gn-drop a:nth-child(3){--i:2}header.site.gn nav.gn-drop a:nth-child(4){--i:3}
header.site.gn nav.gn-drop a:nth-child(5){--i:5}header.site.gn nav.gn-drop a:nth-child(6){--i:6}
/* dim */
.tl-scrim{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.18);opacity:0;pointer-events:none;
  transition:opacity .2s var(--tl-out);-webkit-tap-highlight-color:transparent}
.tl-scrim.is-on{opacity:1;pointer-events:auto;transition:opacity .35s var(--tl-ease)}
html.tl-lock{overflow:hidden;overscroll-behavior:none}
@media (prefers-reduced-motion: reduce){
  .tl-bars i,header.site.gn nav.gn-drop a,html body header.site.gn .gn-drop,.tl-scrim{transition:opacity .15s linear!important;transform:none!important}
  .gn-menu.is-open .tl-bars i:nth-child(1){transform:rotate(45deg)!important}
  .gn-menu.is-open .tl-bars i:nth-child(3){transform:rotate(-45deg)!important}
}
header.site .gn-drop:focus{outline:none}
/* burger now has 5 even links (Home..Calendar, no Log in): no extra beat */
header.site.gn nav.gn-drop a:nth-child(5){--i:4}
/* Logo: no hover effect at all */
header.site .gn-logo:hover,header.site .gn-logo:focus-visible{color:inherit}
header.site .gn-logo:hover *{animation:none}
/* Famous chart loading screen (life-analysis with ?fd=) */
#fp-load{min-height:calc(100vh - 160px);flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:40px 20px}
#fp-load img{height:72px;width:auto;animation:fp-pulse 1.6s ease-in-out infinite}
#fp-load p{margin:0;font-size:17px;color:#1d1d1f}
#fp-load .fp-bar{display:block;width:120px;height:3px;border-radius:2px;background:#e8e8ed;overflow:hidden;position:relative}
#fp-load .fp-bar:after{content:"";position:absolute;inset:0;width:40%;background:#1e8e3e;border-radius:2px;animation:fp-slide 1.2s cubic-bezier(.28,.11,.32,1) infinite}
@keyframes fp-pulse{0%,100%{opacity:1;transform:none}50%{opacity:.7;transform:scale(.97)}}
@keyframes fp-slide{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
@media (prefers-reduced-motion:reduce){#fp-load img,#fp-load .fp-bar:after{animation:none}}
header.site .lg-luck i{font-style:normal} /* letter spans used by the D5 logo script; not italic, no hover */
