/* Paper dot geometry and navbar-only mobile scope, Prototype 4. */
#header.paper-header .nav-cta-primary{height:auto;min-height:32px;padding:7px 10px;font:450 14px/18px var(--font-family)}
#header.paper-header .nav-cta-primary>span{font:inherit}
#header.paper-header .nav-cta-primary svg{width:12px;height:12px}
#header.paper-header .paper-nav-trigger svg{fill:currentColor;stroke:none}
#header.paper-header .paper-menu-icon{display:flex;align-items:center;justify-content:center;color:var(--paper-text)}
#header.paper-header .paper-menu-icon svg{width:24px;height:24px;stroke:none;flex:none}
.mobile-brand,.mobile-menu-toggle{display:none}
@media(max-width:900px){
 #header.paper-header>.container{width:100%;max-width:none;padding:0 16px;margin:0}
 #header.paper-header .nav-row{height:60px;min-height:60px;padding:0;gap:6px;flex-wrap:nowrap}
 #header.paper-header .wordmark{min-width:0;flex:1;color:var(--paper-text)}
 #header.paper-header .wordmark .umbra-logo{display:none}
 #header.paper-header .mobile-brand{display:block;width:24px;height:24px}
 #header.paper-header .nav-actions{flex:0;gap:6px}
 #header.paper-header .nav-cta-primary{position:relative;height:44px;min-height:44px;padding:0 10px;background:transparent;isolation:isolate}
 #header.paper-header .nav-cta-primary::before{content:"";position:absolute;inset:6px 0;border-radius:999px;background:#0100ff;z-index:-1}
 #header.paper-header .nav-cta-primary:hover{background:transparent}
 #header.paper-header .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:100px;background:transparent;color:var(--paper-text-secondary);cursor:pointer}
 .mobile-menu-toggle .menu-close-icon{display:none}
 .mobile-menu-toggle[aria-expanded=true] .menu-close-icon{display:block}
 .mobile-menu-toggle[aria-expanded=true] .menu-open-icon{display:none}
 #header.paper-header nav{display:none}
 #header.paper-header.mobile-menu-open nav{display:flex;position:fixed;top:60px;left:0;right:0;width:100%;height:calc(100dvh - 60px);padding:16px 16px calc(16px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;background:#fff;color:#000829}
 #header.paper-header.mobile-menu-open{--paper-text:#000829;--paper-text-secondary:#636a6b;--paper-surface:rgb(241 242 242 / 50%);--paper-border:#eaebeb}
 #header.paper-header.mobile-menu-open::before{background:#fff}
 #header.paper-header .paper-nav-item{width:100%;flex:none}
 #header.paper-header .paper-nav-trigger{width:100%;height:48px;min-height:48px;padding:0 12px;justify-content:space-between;border-radius:0;border-bottom:.5px solid rgb(234 235 235 / 50%);font-size:16px;line-height:22px;color:var(--paper-text-secondary)}
 #header.paper-header .paper-nav-trigger[aria-expanded=true]{border-radius:8px}
 #header.paper-header .paper-nav-trigger svg{width:16px;height:16px}
 #header.paper-header .paper-nav-menu{position:static;top:auto;left:auto;width:100%;max-width:none;padding:0;gap:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;transform:none;transition:none}
 #header.paper-header .paper-nav-menu::before{display:none}
 #header.paper-header .paper-nav-menu :is(a,button){min-height:60px;padding:8px 12px;gap:12px}
 #header.paper-header .paper-menu-copy>span{font-size:14px;line-height:20px;color:var(--paper-text)}
 #header.paper-header .paper-menu-copy>small{font-size:12px;line-height:18px;color:var(--paper-text-secondary)}
}

/* Dot gestures stay inside fixed icon slots; text and row geometry never move. */
#header svg circle{transform-box:fill-box;transform-origin:center}

/* Hover/focus keeps the symbol geometry, with a varied blue dot palette. */
#header.paper-header .paper-nav-menu :is(a,button):is(:hover,:focus-visible) .paper-menu-icon{color:#0100ff}
#header.paper-header .paper-nav-menu :is(a,button):is(:hover,:focus-visible) [data-dot-icon] circle[opacity="1"]{opacity:1}
#header.paper-header .paper-nav-menu :is(a,button):is(:hover,:focus-visible) [data-dot-icon] circle[opacity="1"]:nth-child(3n+2){opacity:.72}
#header.paper-header .paper-nav-menu :is(a,button):is(:hover,:focus-visible) [data-dot-icon] circle[opacity="1"]:nth-child(4n){opacity:.48}
#header.paper-header .paper-nav-menu :is(a,button):is(:hover,:focus-visible) [data-dot-icon] circle[opacity="0.2"]{opacity:.14}
#header.paper-header :is(.paper-nav-trigger,.mobile-menu-toggle):is(:hover,:focus-visible) svg{color:#0100ff}

/* Brand downloads: a compact surface aligned to the visible logo. */
#header.paper-header .logo-download-menu{position:absolute;z-index:35;display:flex;flex-direction:column;gap:4px;width:232px;padding:6px;border:1px solid var(--paper-border);border-radius:16px;background:rgb(255 255 255 / 95%);box-shadow:0 12px 32px -8px #0008291a,0 2px 6px -2px #0008290f}
#header.paper-header .logo-download-menu[hidden]{display:none}
#header.paper-header .logo-download-menu::before{content:"";position:absolute;left:0;right:0;top:-5px;height:5px}
#header.paper-header .logo-download-menu a{display:flex;align-items:center;min-height:44px;padding:12px 14px;border-radius:10px;color:#000829;text-decoration:none;font:450 14px/20px var(--font-family)}
#header.paper-header .logo-download-menu a:is(:hover,:focus-visible){background:var(--paper-surface);color:#0100ff}
@media(max-width:900px){#header.paper-header .logo-download-menu{display:none}}
