/* SHRIVE nav: the confessional screen. Loaded last. Transform and opacity only. */
.shrive-nav{--sn-slip:#151517;--sn-rule:color-mix(in srgb,var(--accent) 55%,transparent);--sn-edge:color-mix(in srgb,var(--ink) 25%,transparent);--sn-ease:var(--ease-out-expo,cubic-bezier(.16,1,.3,1));
 --sn-notch:radial-gradient(circle at 0 50%,transparent 3px,#000 3.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 3px,#000 3.5px) right/51% 100% no-repeat}
.site-nav.shrive-nav,.docs-nav.shrive-nav{inset:0 0 auto;padding:0;transform:none;filter:none}
.shrive-nav .sn-bar{position:relative;isolation:isolate;max-width:none;min-height:var(--nav-h);margin:0;padding:10px max(16px,calc((100% - 1440px)/2));gap:16px;background:transparent;border:0;border-radius:0;box-shadow:none}
.site-nav.shrive-nav.is-tight .sn-bar{padding-block:10px}
.shrive-nav .sn-screen{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:color-mix(in srgb,var(--accent) 12%,var(--ground))}
.shrive-nav .sn-ember{position:absolute;inset:-60% -8%;background:radial-gradient(34% 70% at 24% 50%,color-mix(in srgb,var(--glow) 60%,transparent),transparent 72%),radial-gradient(30% 64% at 74% 50%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 72%);opacity:.6;will-change:transform,opacity;animation:sn-breathe 6.4s var(--sn-ease) infinite alternate}
@keyframes sn-breathe{from{opacity:.38;transform:translate3d(-2%,0,0) scale(.97)}to{opacity:.85;transform:translate3d(2%,0,0) scale(1.03)}}
.shrive-nav.sn-hold .sn-ember{animation-play-state:paused}
.shrive-nav .sn-plate{--b:5px;position:absolute;inset:0;background:repeating-linear-gradient(90deg,var(--ground) 0 var(--b),transparent 0 8px),repeating-linear-gradient(var(--ground) 0 var(--b),transparent 0 8px);transition:opacity 700ms var(--sn-ease)}
.shrive-nav .sn-plate-shut{--b:6.5px;opacity:0}
.shrive-nav:is(.is-tight,.sn-shut) .sn-bar>.sn-screen .sn-plate{opacity:0}
.shrive-nav:is(.is-tight,.sn-shut) .sn-bar>.sn-screen .sn-plate-shut{opacity:1}
.shrive-nav .sn-line,.site-nav.shrive-nav .page-progress{position:absolute;inset:auto 0 0;height:1px;margin:0;clip-path:none;border-radius:0;overflow:visible;z-index:1;background:var(--sn-rule);pointer-events:none}
.site-nav.shrive-nav .page-progress span{position:absolute;inset:0;height:1px;background:var(--glow);box-shadow:0 0 8px 1px var(--accent);transform-origin:left}
.shrive-nav :is(.nav-wordmark,.docs-nav-mark){gap:10px;padding:4px 14px 4px 4px;background:var(--ground);color:var(--ink)}
.shrive-nav .nav-wordmark span:last-child,.shrive-nav .docs-nav-mark span{font:700 18px/1 var(--font-display);letter-spacing:.16em}
.site-nav.shrive-nav.is-tight .nav-wordmark span{transform:none}
.shrive-nav .sn-pill{flex:none;padding:6px 10px;border:1px solid var(--sn-rule);border-radius:2px;background:var(--ground);color:var(--ink-soft);font:500 11px/1.2 var(--font-mono);letter-spacing:.08em}
.shrive-nav .sn-links{align-items:center;gap:4px;margin:0;padding:0;background:none;box-shadow:none;list-style:none}
.shrive-nav .sn-links li{display:flex;margin:0}
.shrive-nav .sn-links a{position:relative;isolation:isolate;display:inline-flex;align-items:center;min-width:0;min-height:44px;padding:0 15px;border:0;border-radius:0;background:transparent!important;color:var(--ink);font:600 11px/1.25 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-decoration:none;transition:transform 420ms var(--sn-ease)}
.shrive-nav .sn-links a::after{content:'';display:block;position:absolute;inset:9px 3px;z-index:-1;background:var(--sn-slip);mask:var(--sn-notch)}
.shrive-nav .sn-links a::before{content:'';position:absolute;inset:4px -4px;z-index:-2;background:radial-gradient(closest-side,color-mix(in srgb,var(--glow) 55%,transparent),transparent);opacity:0;transition:opacity 360ms var(--sn-ease);pointer-events:none}
.shrive-nav .sn-links a:is(:hover,:focus-visible)::before{opacity:.7}
.shrive-nav .sn-links a:hover{transform:translateY(-1px)}
.shrive-nav .sn-links a:focus-visible{outline:2px solid var(--glow);outline-offset:-3px}
.shrive-nav .sn-links a[aria-current]{color:var(--ground);transform:translateY(3px)}
.shrive-nav .sn-links a[aria-current]::after{background:var(--glow)}
.shrive-nav .sn-links a[aria-current]::before{opacity:1;inset:0 -8px}
.site-nav.shrive-nav .nav-connect,.shrive-nav .sn-connect{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;min-height:44px;height:44px;padding:0 16px!important;border:0;border-radius:2px!important;background:var(--ink);color:var(--ground);font:600 12px/1.2 var(--font-mono)!important;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;box-shadow:0 0 0 1px var(--ground),0 0 18px -4px var(--glow)}
.site-nav.shrive-nav .nav-connect:hover,.shrive-nav .sn-connect:hover{background:var(--ink);color:var(--ground);transform:translateY(-1px)}
.site-nav.shrive-nav .nav-connect:focus-visible,.shrive-nav .sn-connect:focus-visible{outline:2px solid var(--glow);outline-offset:3px}
.shrive-nav .sn-menubtn{display:none;align-items:center;gap:8px;flex:none;min-width:44px;min-height:44px;margin:0 0 0 auto;padding:0 12px;border:1px solid var(--sn-edge);border-radius:2px;background:var(--ground);color:var(--ink);font:600 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.shrive-nav .sn-grille{width:14px;height:14px;background:radial-gradient(circle,var(--ink-soft) 1.4px,transparent 1.9px) 0 0/5px 5px}
.shrive-nav .sn-menubtn:is([aria-expanded=true],:hover) .sn-grille{background-image:radial-gradient(circle,var(--glow) 1.4px,transparent 1.9px)}
.shrive-nav .sn-menubtn:focus-visible{outline:2px solid var(--glow);outline-offset:2px}
.site-nav.shrive-nav .nav-links,.site-nav.shrive-nav .sn-pill{display:none}
.site-nav.shrive-nav .nav-menu.sn-menubtn{display:inline-flex}
@container navpill (min-width:1100px){.site-nav.shrive-nav .nav-links{display:flex;margin-left:auto}.site-nav.shrive-nav .nav-menu.sn-menubtn{display:none}.site-nav.shrive-nav .nav-bar:has(#navCa:not([hidden])) .nav-links{display:none}.site-nav.shrive-nav .nav-bar:has(#navCa:not([hidden])) .nav-menu.sn-menubtn{display:inline-flex}}
@container navpill (min-width:1300px){.site-nav.shrive-nav .sn-pill{display:inline-flex;align-items:center;gap:6px}}
@container navpill (min-width:1400px){.site-nav.shrive-nav .nav-bar:has(#navCa:not([hidden])) .nav-links{display:flex}.site-nav.shrive-nav .nav-bar:has(#navCa:not([hidden])) .nav-menu.sn-menubtn{display:none}}
.shrive-nav .sn-sheet{position:fixed;inset:0;z-index:200;isolation:isolate;display:flex;flex-direction:column;gap:32px;max-width:none;max-height:none;margin:0;padding:12px 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;background:var(--ground);border:0;border-radius:0;box-shadow:none}
.shrive-nav .sn-sheet[hidden]{display:none}
.shrive-nav .sn-sheet .sn-screen{position:fixed}
.shrive-nav .sn-sheet .sn-ember{inset:30% -30% -40%;background:radial-gradient(60% 50% at 50% 72%,color-mix(in srgb,var(--glow) 70%,transparent),transparent 74%)}
.shrive-nav .sn-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:0 0 12px;border-bottom:1px solid var(--sn-rule)}
.shrive-nav .sn-sheet-mark{padding:6px 10px;background:var(--ground);font:700 18px/1 var(--font-display);letter-spacing:.16em;color:var(--ink)}
.shrive-nav .sn-sheet .sn-sheet-head button{display:inline-flex;align-items:center;width:auto;min-height:44px;padding:0 14px;border:1px solid var(--sn-edge);border-radius:2px;background:var(--ground);color:var(--ink);font:600 12px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.shrive-nav .sn-sheet .sn-sheet-head button:focus-visible{outline:2px solid var(--glow);outline-offset:2px}
.shrive-nav .sn-sheet-links{display:grid;gap:12px;align-content:start;justify-items:start}
.shrive-nav .sn-sheet .sn-sheet-links a{display:flex;align-items:center;gap:14px;width:auto;min-width:min(100%,260px);min-height:52px;padding:0 22px;border:0;border-radius:0;background:var(--ink);color:var(--ground);font:600 15px/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;mask:var(--sn-notch);rotate:var(--sn-tilt,0deg)}
.shrive-nav .sn-sheet-links a:nth-child(3n+1){--sn-tilt:-.35deg}.shrive-nav .sn-sheet-links a:nth-child(3n+2){--sn-tilt:.3deg}
.shrive-nav .sn-sheet .sn-sheet-links a:hover{background:var(--ink);color:var(--ground);translate:4px 0}
.shrive-nav .sn-sheet .sn-sheet-links a:focus-visible{outline:2px solid var(--ground);outline-offset:-6px}
.shrive-nav .sn-sheet .sn-sheet-links a[aria-current]{background:var(--glow)}
.shrive-nav .sn-no{color:color-mix(in srgb,var(--accent) 70%,var(--ground));font-weight:500}
.shrive-nav .sn-sheet-links a[aria-current] .sn-no{color:var(--ground)}
.shrive-nav .sn-sheet.is-open .sn-sheet-links a{animation:sn-slip-in 620ms var(--sn-ease) both;animation-delay:calc(var(--sn-i,0) * 40ms)}
@keyframes sn-slip-in{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
body.sheet-open,body.sn-sheet-open{overflow:hidden}

.shrive-nav+.phone-tabs{border-radius:2px;background:var(--ground);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent),0 12px 32px -8px #000}
.shrive-nav+.phone-tabs a{font:600 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}

.docs-nav.shrive-nav .sn-bar{min-height:64px}
.docs-nav.shrive-nav .sn-links{margin:0 auto 0 8px}
@media (max-width:768px){
 .docs-nav.shrive-nav .sn-bar>.sn-links{display:none}
 .docs-nav.shrive-nav .sn-menubtn{display:inline-flex;order:2}
 .docs-nav.shrive-nav .sn-connect{order:3}
 .docs-nav.shrive-nav .docs-nav-mark span{display:inline}
 .shrive-nav .sn-bar{gap:8px;padding-inline:12px}
}
@media (max-width:479px){
 .shrive-nav .sn-bar{gap:6px;padding-inline:8px}
 .shrive-nav :is(.nav-wordmark,.docs-nav-mark){padding-right:8px}
 .site-nav.shrive-nav .nav-connect,.shrive-nav .sn-connect{padding:0 10px!important;font-size:11px!important;letter-spacing:.04em}
 .shrive-nav .sn-menubtn{padding:0 10px}
}
@media (max-width:399px){.shrive-nav .sn-menu-word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shrive-nav .sn-menubtn{padding:0;justify-content:center}}
@media (max-width:359px){.shrive-nav .nav-wordmark span:last-child,.shrive-nav .docs-nav-mark span{display:none}}
@media (prefers-reduced-motion:reduce){.shrive-nav .sn-ember,.shrive-nav .sn-sheet.is-open .sn-sheet-links a{animation:none}.shrive-nav :is(.sn-plate,.sn-bar .sn-links a,.sn-bar .sn-links a::before){transition:none}}
@media (forced-colors:active){.shrive-nav .sn-screen{background:Canvas}.shrive-nav .sn-links a[aria-current]{text-decoration:underline}}
.shrive-nav .docs-nav-mark img{box-sizing:border-box;width:40px;height:40px;padding:3px;border-radius:12px;background:var(--glow);box-shadow:inset 0 0 0 1px var(--accent-deep)}
