/* Floating navigation: local icons, translucent tray, no artwork filters. */
body{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
.site-dock{--dock-glass:rgba(245,245,247,.82);--dock-edge:rgba(255,255,255,.9);--dock-tile:rgba(29,29,31,.065);position:fixed;z-index:30;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;width:max-content;max-width:calc(100% - 16px);padding:10px;border:1px solid var(--dock-edge);border-radius:25px;background:var(--dock-glass);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);box-shadow:0 14px 40px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.05),inset 0 0 0 1px rgba(29,29,31,.06);isolation:isolate}
[data-theme="dark"] .site-dock{--dock-glass:rgba(44,44,47,.82);--dock-edge:rgba(255,255,255,.16);--dock-tile:rgba(255,255,255,.075);box-shadow:0 14px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.07)}
.dock-item{position:relative;display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:16px;color:var(--text);outline-offset:5px;-webkit-tap-highlight-color:transparent}
.dock-tile{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit;background:var(--dock-tile);border:1px solid rgba(128,128,128,.08);transform-origin:center bottom;transform:translateY(var(--dock-lift,0px)) scale(var(--dock-scale,1));transition:transform 180ms cubic-bezier(.2,.8,.2,1),background-color 180ms,color 180ms,box-shadow 180ms}
.dock-tile svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.dock-item[aria-current="location"] .dock-tile{background:var(--strong);color:var(--inverse);box-shadow:0 2px 5px rgba(0,0,0,.1)}
.dock-item[aria-current="location"]::after{content:"";position:absolute;bottom:-6px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--text)}
.dock-item:focus-visible{outline:2px solid var(--text)}
.dock-item:focus-visible .dock-tile{transform:translateY(-7px) scale(1.12)}
.dock-label{position:absolute;bottom:calc(100% + 23px);left:50%;transform:translate(-50%,5px);padding:6px 10px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;box-shadow:0 4px 15px rgba(0,0,0,.12);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 120ms,transform 120ms,visibility 120ms}
.dock-label::after{content:"";position:absolute;top:100%;left:0;width:100%;height:24px}
.dock-item:hover .dock-label,.dock-item:focus-visible .dock-label{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.site-dock[data-labels-hidden] .dock-label{opacity:0;visibility:hidden;pointer-events:none}
/* On short brand pages, clear the call to action before restoring the fixed dock. */
.site-dock[data-featured-link-overlap],.site-dock[data-featured-link-overlap] .dock-label{visibility:hidden;pointer-events:none}
.dock-divider{width:1px;height:29px;margin:0 4px;background:var(--control-border);opacity:.65;flex-shrink:0}
@media(hover:hover) and (pointer:fine){.dock-item:hover .dock-tile{background:var(--hover);box-shadow:0 5px 12px rgba(0,0,0,.08)}.dock-item[aria-current="location"]:hover .dock-tile{background:var(--strong)}}
@media(max-width:480px){.site-dock{gap:4px;padding:8px;border-radius:22px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.dock-item{width:42px;height:44px;flex-basis:42px;border-radius:14px}.dock-tile svg{width:21px;height:21px}.dock-divider{margin:0 2px;height:25px}.dock-label{font-size:11px}.dock-item:first-child .dock-label{left:0;transform:translate(0,5px)}.dock-item:last-child .dock-label{left:auto;right:0;transform:translate(0,5px)}.dock-item:first-child:hover .dock-label,.dock-item:first-child:focus-visible .dock-label,.dock-item:last-child:hover .dock-label,.dock-item:last-child:focus-visible .dock-label{transform:translate(0,0)}}
/* A single Sun/Moon control shares the dock's icon sizing and keyboard order. */
.site-dock{--dock-size:48px}
.dock-item,.site-dock .theme-toggle{width:var(--dock-size);flex:0 0 var(--dock-size)}
.site-dock .theme-toggle{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);justify-content:stretch;align-content:stretch;place-items:center;min-width:0;height:48px;padding:0;border:0;border-radius:16px;background:transparent;color:var(--text)}
.dock-theme .theme-sun,.dock-theme .theme-moon{grid-area:1 / 1;color:var(--text)}
.dock-theme .theme-moon{display:none}
[data-theme="dark"] .dock-theme .theme-sun{display:none}
[data-theme="dark"] .dock-theme .theme-moon{display:block}
@media(max-width:480px){.site-dock{--dock-size:clamp(30px,calc((100vw - 90px)/8),42px)}.site-dock .theme-toggle{height:44px;border-radius:14px}}
@media(max-width:360px){.site-dock{--dock-size:32px;gap:1px;padding:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dock-tile,.dock-label{transition:none}.dock-item:focus-visible .dock-tile{transform:none}}
@media(prefers-reduced-transparency:reduce){.site-dock{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.site-dock{background:Canvas;border:1px solid CanvasText}.dock-item[aria-current="location"] .dock-tile{background:Highlight;color:HighlightText}.dock-tile{border:1px solid ButtonText}.dock-label{background:Canvas;color:CanvasText}}
