/* Consistent local SVG icons; labels remain available to every visitor. */
svg.ui-icon{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle;overflow:visible}
.button .ui-icon{width:18px;height:18px}.menu-toggle .ui-icon{width:15px;height:15px}.menu-toggle[aria-expanded=true] .ui-icon{transform:rotate(90deg)}
.social-links .ui-icon,.back-top .ui-icon,.personal-details .ui-icon{width:14px;height:14px;margin-left:3px}.personal-details>span>.ui-icon{margin-left:0;margin-right:5px}
.channel-symbol .ui-icon{width:21px;height:21px}.contact-channels>a>span:last-child .ui-icon{width:22px;height:22px}
.location .ui-icon{width:17px;height:17px}.card-arrow .ui-icon{width:23px;height:23px}
.surprise-project{display:inline-flex;gap:7px;align-items:center}.surprise-project .ui-icon{width:16px;height:16px}
.project-details summary .ui-icon,.copy-email .ui-icon{width:15px;height:15px}
.chapter-links .ui-icon,.contact-topics .ui-icon,.skill-card li .ui-icon{width:15px;height:15px}
.work-tools>label>.ui-icon{width:20px;height:20px;margin-right:6px;color:var(--rose)}
.theme-stars .ui-icon{position:absolute;width:14px;height:14px;left:5px;top:5px}
.ui-icon.icon-arrow,.ui-icon.icon-up,.ui-icon.icon-down{stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s cubic-bezier(.2,.7,.2,1);transform-origin:center;vertical-align:-3px}
.button .icon-arrow,.text-link .icon-arrow{width:21px;height:21px}
.button>span[aria-hidden],.text-link>span[aria-hidden]{display:inline-flex;align-items:center;line-height:1}
.social-links a,.back-top{display:inline-flex;align-items:center;gap:6px}
.social-links .icon-arrow,.back-top .icon-up{width:16px;height:16px;margin-left:0}
.card-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;transition:background-color .25s,border-color .25s}
.card-arrow .icon-arrow{width:19px;height:19px}
.text-link:hover>span[aria-hidden],.contact-channels>a:hover>span:last-child{transform:none}
@media(hover:hover){
  a:hover .icon-arrow,button:hover .icon-arrow{transform:translateX(3px)}
  a:hover .icon-up{transform:translateY(-3px)}
  a:hover .icon-down{transform:translateY(3px)}
  .feature-card:hover .card-arrow{background:var(--pink);border-color:var(--rose)}
}
a:focus-visible .icon-arrow,button:focus-visible .icon-arrow{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.ui-icon.icon-arrow,.ui-icon.icon-up,.ui-icon.icon-down{transform:none!important}}
