/* Paper Web_Final_08 Oct: public/disconnected navbar and footer controls. */
:root{--paper-text:#000829;--paper-text-secondary:#636a6b;--paper-muted:rgb(108 114 115 / 75%);--paper-surface:rgb(241 242 242 / 50%);--paper-border:#eaebeb}
:root:not([data-theme="dark"]) #header.paper-header{background:rgb(255 255 255 / 50%);background-image:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:none}
#header.paper-header .nav-row{display:flex;align-items:center;gap:24px;height:64px;min-height:64px;padding:0}
#header.paper-header .wordmark{flex:1;min-width:144px}
#header.paper-header .wordmark img{display:block;width:144px;height:31.24px;filter:none}
#header.paper-header .nav-actions{flex:1;justify-content:flex-end}
#header.paper-header nav{display:flex;align-items:center;gap:4px;width:auto;padding:0}
.paper-nav-item{position:relative;flex:none}
#header.paper-header .paper-nav-trigger{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 12px;border:0;border-radius:999px;background:transparent;color:var(--paper-muted);font-size:14px;line-height:18px;letter-spacing:-.01em;font-weight:450;white-space:nowrap;cursor:pointer}
#header.paper-header .paper-nav-trigger:hover,#header.paper-header .paper-nav-trigger[aria-expanded=true]{background:var(--paper-surface)}
.paper-nav-trigger svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1;flex:none}
.paper-nav-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
#header.paper-header .nav-cta-primary{height:44px;padding:0 12px 0 20px;gap:4px;background:#0100ff;color:white;font-size:14px;line-height:18px;font-weight:450;letter-spacing:-.01em}
.nav-cta-primary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
#header.paper-header .nav-cta-primary:hover{background:#0d00d9}
#header.paper-header .paper-nav-menu{position:absolute;top:calc(100% + 24px);left:0;width:336px;max-width:calc(100vw - 32px);padding:6px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--paper-border);border-radius:16px;background:rgb(255 255 255 / 50%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 12px 32px -8px #0008291a,0 2px 6px -2px #0008290f;z-index:30}
#header.paper-header .paper-nav-menu[hidden]{display:none}
.paper-nav-menu::before{content:"";position:absolute;left:0;right:0;top:-25px;height:25px}
#header.paper-header .paper-nav-menu :is(a,button){display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;height:auto;min-height:56px;padding:8px 8px 8px 6px;border:0;border-radius:10px;background:none;color:var(--paper-text-secondary);text-align:left;text-decoration:none;cursor:pointer;font-weight:450;letter-spacing:-.01em}
#header.paper-header .paper-nav-menu :is(a,button):hover,#header.paper-header .paper-nav-menu :is(a,button):focus-visible{background:var(--paper-surface);color:var(--paper-text)}
.paper-menu-icon{width:40px;height:40px;flex:0 0 40px;border-radius:8px;background:var(--paper-surface)}
.paper-menu-copy{display:flex;flex-direction:column;min-width:0;gap:0}
.paper-menu-copy>span{font-size:14px;line-height:16.8px}
.paper-menu-copy>small{font-size:12px;line-height:14.4px;font-weight:450}
.paper-menu-badge{display:inline-flex;align-items:center;padding:0 8px;height:20px;background:var(--paper-surface);border-radius:999px;font-size:12px;font-weight:450;line-height:16px;margin-left:4px}
#header.paper-header :is(a,button):focus-visible{outline:2px solid #0100ff;outline-offset:3px}
@media(max-width:900px){#header.paper-header .nav-row{flex-wrap:wrap;height:auto;min-height:64px;padding-block:10px;gap:8px}#header.paper-header nav{order:3;justify-content:center;width:100%}#header.paper-header .paper-nav-menu{position:fixed;left:16px;top:112px}}
.footer-social-tooltip{display:none}
@media(min-width:901px){
 .site-footer-bottom{min-height:60px;padding-block:13px;gap:24px;border-color:rgb(234 235 235 / 50%)}
 .site-footer-bottom-links,.site-footer-utilities{gap:16px}
 .site-footer .site-footer-status{height:26px;line-height:26px;letter-spacing:-.01em}
 .site-footer-status>span{position:relative}
 .site-footer-status>span::after{content:"";position:absolute;inset:-4px;border-radius:50%;background:#0100ff14;animation:paper-status-halo 4s ease-in-out infinite}
 .site-footer-utilities :is(a,button){display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 8px;border-radius:999px;color:var(--paper-muted);letter-spacing:-.01em;white-space:nowrap}
 .site-footer-utilities :is(a,button):hover,.site-footer-utilities :is(a,button):focus-visible{background:var(--paper-surface);color:var(--paper-text);text-decoration:none}
 .site-footer-social{gap:4px}
 .site-footer-social button{position:relative;width:32px;height:32px;padding:6px;border-radius:50%;flex:none}
 .site-footer-social img{opacity:.15}
 .site-footer-social button:hover,.site-footer-social button:focus-visible{background:var(--paper-surface)}
 .site-footer-social button:is(:hover,:focus-visible) img{opacity:1}
 .footer-social-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);height:24px;display:none;align-items:center;padding:0 8px;border-radius:8px;background:#fff;box-shadow:0 0 0 1px var(--paper-border),0 4px 12px -4px #0008291a;color:var(--paper-text);font-size:12px;line-height:16px;letter-spacing:-.01em;white-space:nowrap;pointer-events:none}
 .site-footer-social button:is(:hover,:focus-visible):not([data-tooltip-dismissed]) .footer-social-tooltip{display:flex}
}
@keyframes paper-status-halo{0%,65%,100%{transform:scale(.8);opacity:0}30%{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.site-footer-status>span::after{animation:none}}
/* Keep the navbar glass on its own layer so dropdown blur samples the page. */
:root:not([data-theme="dark"]) #header.paper-header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
#header.paper-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgb(255 255 255 / 50%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}
/* Fit all four navigation choices within the compact shared grid. */
@media(max-width:600px){
 #header.paper-header nav{gap:0}
 #header.paper-header .paper-nav-trigger{font-size:12px;padding-inline:8px 6px;gap:4px}
}

/* transitions-dev dropdown recipe; transitions-polish open/close timing. */
:root {
  --dropdown-open-dur: 250ms;
  --dropdown-close-dur: 150ms;
  --dropdown-pre-scale: 0.97;
  --dropdown-closing-scale: 0.99;
  --dropdown-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-dropdown {
  transform-origin: top left;
  transform: scale(var(--dropdown-pre-scale));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--dropdown-open-dur) var(--dropdown-ease),
    opacity   var(--dropdown-open-dur) var(--dropdown-ease);
  will-change: transform, opacity;
}
.t-dropdown[data-origin="top-right"]     { transform-origin: top right; }
.t-dropdown[data-origin="top-center"]    { transform-origin: top center; }
.t-dropdown[data-origin="bottom-left"]   { transform-origin: bottom left; }
.t-dropdown[data-origin="bottom-center"] { transform-origin: bottom center; }
.t-dropdown[data-origin="bottom-right"]  { transform-origin: bottom right; }

.t-dropdown.is-open {
  transform: scale(1);
  opacity: 1;
  pointer-events: auto;
}
.t-dropdown.is-closing {
  transform: scale(var(--dropdown-closing-scale));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--dropdown-close-dur) var(--dropdown-ease),
    opacity   var(--dropdown-close-dur) var(--dropdown-ease);
}

@media (prefers-reduced-motion: reduce) {
  .t-dropdown { transition: none !important; }
}

#header.paper-header .paper-nav-trigger svg{transition:transform var(--dropdown-open-dur) var(--dropdown-ease)}
@media(prefers-reduced-motion:reduce){#header.paper-header .paper-nav-trigger svg{transition:none}}
