.aurora-container{width:100%;height:100%;position:absolute;inset:0}.strands-container{position:relative;width:100%;height:100%;background:transparent}.strands-container canvas{display:block;width:100%;height:100%}.soft-aurora-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.dock-wrap{position:fixed;left:50%;bottom:clamp(2px,1.2vh,10px);transform:translateX(-50%);z-index:900;pointer-events:none;width:100%;padding:0 12px}.dock,.dock-wrap{display:flex;justify-content:center;align-items:flex-end}.dock{pointer-events:auto;position:relative;flex-direction:row;gap:var(--dock-gap);padding:var(--dock-pad-y) var(--dock-pad-x);padding-bottom:calc(var(--dock-pad-y) + 1px);background:var(--dock-glass-bg);border-left:1px solid var(--dock-border);border-right:1px solid var(--dock-border);border-top-color:var(--dock-border);border-top:1px solid var(--dock-border-light);border-bottom:1px solid rgba(0,0,0,.28);border-radius:18px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.07),inset 0 -1px 0 rgba(0,0,0,.12),0 14px 30px -18px rgba(0,0,0,.55),0 8px 18px -12px rgba(240,90,40,.05),0 1px 5px rgba(0,0,0,.2);background-image:linear-gradient(180deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,0) 50%,rgba(0,0,0,.06));will-change:transform;transform:translateZ(0)}.dock:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(120% 120% at 50% 0,rgba(240,90,40,0) 40%,rgba(240,90,40,0) 60%,rgba(240,90,40,0) 100%);pointer-events:none;opacity:0;transition:opacity .35s cubic-bezier(.22,1,.36,1);z-index:-1}.dock:hover:before{background:radial-gradient(120% 120% at 50% 0,rgba(240,90,40,.035) 30%,rgba(240,90,40,.015) 55%,rgba(240,90,40,0) 82%);opacity:1}.dock-icon{position:relative;width:var(--dock-icon);height:var(--dock-icon);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;border:none;background:transparent;padding:0;color:inherit;transform:translateY(0) translateZ(0);transform-origin:center bottom;transition:transform .2s cubic-bezier(.22,1,.36,1);will-change:transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.dock-icon:focus-visible{outline:none}.dock-icon:focus-visible:after{content:"";position:absolute;inset:-5px;border-radius:18px;box-shadow:0 0 0 1.8px var(--accent),0 0 0 4px rgba(240,90,40,.18);pointer-events:none;animation:focus-ring-pulse 2.2s ease-in-out infinite}@keyframes focus-ring-pulse{0%,to{box-shadow:0 0 0 1.8px var(--accent),0 0 0 4px rgba(240,90,40,.18)}50%{box-shadow:0 0 0 1.8px var(--accent),0 0 0 6.5px rgba(240,90,40,.1)}}.dock-icon__tile{width:100%;height:100%;border-radius:20%;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(160deg,hsla(0,0%,100%,.04),rgba(0,0,0,.08));box-shadow:0 2.5px 6px rgba(0,0,0,.28),inset 0 0 0 .5px hsla(0,0%,100%,.1),inset 0 -1.5px 0 rgba(0,0,0,.12);transition:box-shadow .2s cubic-bezier(.22,1,.36,1)}.dock-icon img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transform:scale(1.14);pointer-events:none}.dock-icon:hover .dock-icon__tile{box-shadow:0 5px 12px rgba(0,0,0,.34),0 0 7px rgba(240,90,40,.055),inset 0 0 0 .5px hsla(0,0%,100%,.16),inset 0 -1.5px 0 rgba(0,0,0,.12)}.dock-tooltip{position:absolute;left:50%;bottom:calc(100% + 14px);transform:translate(-50%,5px);padding:4px 11px;border-radius:7px;font-size:11.5px;font-weight:600;letter-spacing:.01em;line-height:1.3;color:var(--text-primary);white-space:nowrap;background:var(--dock-tooltip-bg);border:1px solid var(--dock-border);border-top-color:var(--dock-border-light);opacity:0;pointer-events:none;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1);box-shadow:0 8px 20px -12px rgba(0,0,0,.58),0 1.5px 6px rgba(0,0,0,.24);z-index:5}.dock-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4.5px solid transparent;border-top:4.5px solid var(--dock-tooltip-bg)}.dock-icon:focus-visible .dock-tooltip,.dock-icon:hover .dock-tooltip{opacity:1;transform:translate(-50%)}.dock-dot{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:3.5px;height:3.5px;border-radius:50%;background:var(--accent);opacity:0;box-shadow:0 0 5px rgba(240,90,40,.22);transition:opacity .25s ease}.dock-icon:focus-visible .dock-dot,.dock-icon:hover .dock-dot{opacity:.8}@keyframes dockBounce{0%{transform:translateY(0) scale(var(--s,1))}28%{transform:translateY(-12px) scale(var(--s,1))}48%{transform:translateY(0) scale(var(--s,1))}63%{transform:translateY(-5px) scale(var(--s,1))}78%{transform:translateY(0) scale(var(--s,1))}}.bouncing{animation:dockBounce .55s cubic-bezier(.22,1,.36,1)}@keyframes clickGlow{0%{box-shadow:0 0 0 0 rgba(240,90,40,.22)}60%{box-shadow:0 0 0 7px rgba(240,90,40,0)}to{box-shadow:0 0 0 0 rgba(240,90,40,0)}}.bouncing .dock-icon__tile{animation:clickGlow .6s ease-out}:root{--dock-icon:clamp(36px,4.0vw,42px);--dock-gap:clamp(19px,2.9vw,25px);--dock-pad-y:clamp(4.5px,0.7vw,6px);--dock-pad-x:clamp(16px,2.8vw,22px);--dock-glass-bg:rgba(20,20,22,.58);--dock-tooltip-bg:rgba(20,20,22,.82);--dock-border:hsla(0,0%,100%,.065);--dock-border-light:hsla(0,0%,100%,.14)}body.light-theme{--dock-glass-bg:rgba(245,245,248,.65);--dock-tooltip-bg:rgba(250,250,252,.88);--dock-border:rgba(0,0,0,.05);--dock-border-light:hsla(0,0%,100%,.42)}@media (max-width:1024px) and (min-width:769px){:root{--dock-icon:clamp(34px,4.5vw,40px);--dock-gap:clamp(12px,2.2vw,16px);--dock-pad-y:clamp(4px,0.6vw,5px);--dock-pad-x:clamp(14px,2.4vw,19px)}.dock-wrap{bottom:8px}.dock{border-radius:16px}}@media (max-width:768px){:root{--dock-icon:clamp(30px,8.5vw,38px);--dock-gap:clamp(8px,2.4vw,12px);--dock-pad-y:clamp(3.5px,0.8vw,5px);--dock-pad-x:clamp(10px,2.6vw,15px);--dock-blur:28px}.dock-wrap{bottom:5px;padding:0 8px}.dock{border-radius:16px;max-width:92vw}.dock-tooltip{display:none}.dock-icon:hover .dock-icon__tile{box-shadow:0 5px 12px rgba(0,0,0,.42),inset 0 0 0 .5px hsla(0,0%,100%,.14),inset 0 -1.5px 0 rgba(0,0,0,.12)}}@media (prefers-reduced-motion:reduce){.dock,.dock-dot,.dock-icon,.dock-icon img,.dock-icon__tile,.dock-tooltip,.dock:before{transition-duration:.001ms!important;animation:none!important}.bouncing,.bouncing .dock-icon__tile{animation:none!important}}