@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono")}:root{--bg:#000;--fg:#f2f2f2;--fg-dim:#6b6b6b;--accent:#e8e8e8;--dock-bg:hsla(0,0%,100%,.06);--dock-border:hsla(0,0%,100%,.12)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow:hidden}.page{position:relative;height:100dvh;width:100vw;display:flex;align-items:center;justify-content:center}.bg-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}.dock-wrap{position:fixed;left:0;right:0;bottom:28px;display:flex;justify-content:center;z-index:10}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}@property --gap{syntax:"<angle>";inherits:false;initial-value:1turn}.dock{position:relative;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:12px;background:var(--dock-bg);border:1px solid var(--dock-border);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:0 10px 40px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.06)}.dock:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--angle),#2074e9,#ec3cec,#ee9758,#ec3cec,#2074e9);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0),conic-gradient(from 0deg,#000 0 calc(1turn - var(--gap)),transparent calc(1turn - var(--gap)) 1turn);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0),conic-gradient(from 0deg,#000 0 calc(1turn - var(--gap)),transparent calc(1turn - var(--gap)) 1turn);-webkit-mask-composite:xor,source-in,xor;mask-composite:exclude,intersect;opacity:0;pointer-events:none;transition:opacity .15s ease}.dock:hover:before{opacity:1;animation:dock-border-spin 3.2s linear infinite,dock-border-reveal .9s cubic-bezier(.25,0,.2,1) both}@keyframes dock-border-spin{to{--angle:360deg}}@keyframes dock-border-reveal{0%{--gap:360deg}to{--gap:0deg}}.dock-item{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:7px;background:transparent;border:none;color:var(--fg);text-decoration:none}.dock-item svg{width:17px;height:17px}.dock-item:focus-visible{outline:2px solid hsla(0,0%,100%,.6);outline-offset:3px}.dock-label{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(4px);padding:4px 10px;border-radius:6px;background:hsla(0,0%,8%,.95);border:1px solid hsla(0,0%,100%,.1);font-size:11px;color:var(--fg);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.dock-item:focus-visible .dock-label,.dock-item:hover .dock-label{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}@media (prefers-reduced-motion:reduce){.dock-item,.dock-label,.dock:before{animation:none!important;transition:none!important}}@media (max-width:480px){.dock{gap:4px;padding:6px 10px}.dock-item{width:30px;height:30px}.dock-item svg{width:15px;height:15px}}