:root{--bg:#fff;--card-colour:#fcfcfce1;--border-colour:#3b3b3b;--surface:#f5f5f5;--input-bg:#fff;--intro-text:#121212;--text:#111;--descoration-text:#1a1a1a;--muted-text:#555;--subtle-text:#888;--border:#ddd;--accent:#d955fa}[data-theme=dark]{--bg:#1d1d1d;--card-colour:#181818fa;--border-colour:#e6e6e6;--surface:#2a2a2a;--input-bg:#202020;--intro-text:#e6e6e6;--text:#eee;--descoration-text:#e6e6e6;--muted-text:#bbb;--subtle-text:#777;--border:#333;--accent:#d955fa}body{background:var(--bg);color:var(--text);margin:0;transition:background .25s,color .25s}.logo h3{align-items:center;margin:0;line-height:1;display:flex}.header-logo{object-fit:contain;flex-shrink:0;width:48px;height:48px;display:block;transform:translate(-12px,15px)}.hamburger{display:none}@media (width<=768px){header{position:relative}header nav{display:none}.hamburger{cursor:pointer;background:0 0;border:none;font-size:1.8rem;display:block}}.mobile-menu{background:color-mix(in srgb, var(--card-colour) 92%, transparent);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border);z-index:1000;border-radius:18px;flex-direction:column;gap:6px;width:min(280px,100vw - 32px);padding:10px;animation:.2s ease-out mobile-menu-in;display:flex;position:absolute;top:calc(100% + 12px);right:16px;box-shadow:0 12px 35px #00000026,0 2px 8px #00000014}.mobile-menu a{min-height:44px;color:var(--text);border-radius:12px;align-items:center;padding:0 16px;font-size:1rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:flex;position:relative}.mobile-menu a:before{content:"";background:var(--accent);opacity:0;border-radius:50%;width:5px;height:5px;margin-right:12px;transition:opacity .2s,transform .2s;transform:scale(0)}.mobile-menu a:hover{background:var(--surface);color:var(--accent);transform:translate(4px)}.mobile-menu a:hover:before{opacity:1;transform:scale(1)}.mobile-menu a:active{transform:scale(.98)}@keyframes mobile-menu-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.mobile-menu{width:min(280px,100vw - 24px);right:12px}}@media (prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu a{transition:none;animation:none}}
