.site-nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:56px}.nav-left{display:flex;align-items:center;gap:8px}.nav-logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text);letter-spacing:.05em;text-decoration:none}.logo-mark{width:22px;height:22px;display:block;border-radius:3px}.logo-mark--light,html.light .logo-mark--dark{display:none}html.light .logo-mark--light{display:block}.nav-badge{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);font-family:var(--mono);font-size:10px;padding:2px 6px;border-radius:2px;letter-spacing:.08em}.nav-right{display:flex;align-items:center;gap:32px}.nav-link{color:var(--text-muted);text-decoration:none;font-size:13px;font-family:var(--mono);letter-spacing:.05em;transition:color .15s ease}.nav-link:hover,.nav-link.active{color:var(--text-accent)}.nav-github{display:inline-block;background:var(--cta-bg);border:1px solid var(--cta-bg);color:var(--cta-fg);text-decoration:none;font-size:12px;font-weight:600;font-family:var(--mono);letter-spacing:.05em;padding:7px 14px;border-radius:3px;transition:opacity .15s ease}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border);border-radius:3px;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--text);border-color:var(--border2)}.theme-icon{display:none}html:not(.light) .theme-icon--sun{display:block}html.light .theme-icon--moon{display:block}.theme-toggle--mobile{width:auto;height:auto;border-radius:0;border:none;border-bottom:1px solid var(--border);padding:16px 0;justify-content:space-between;color:var(--text-muted);font-family:var(--mono);font-size:14px;letter-spacing:.05em}.theme-toggle--mobile:hover{color:var(--text);border-color:var(--border)}.theme-toggle-mobile-label{display:inline-flex;align-items:center;gap:8px}.nav-github:hover{opacity:.9}.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:center;width:32px;height:32px;gap:5px;background:none;border:none;cursor:pointer;padding:0}.burger-line{display:block;width:18px;height:1.5px;background:var(--text);transition:transform .2s ease,opacity .2s ease}.nav-burger.open .burger-line:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-burger.open .burger-line:nth-child(2){opacity:0}.nav-burger.open .burger-line:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav-mobile{display:none;position:fixed;inset:56px 0 0;z-index:99;background:var(--bg);border-top:1px solid var(--border);flex-direction:column;padding:32px 20px;gap:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-mobile.open{display:flex}.nav-mobile-link{font-family:var(--mono);font-size:14px;color:var(--text-muted);text-decoration:none;letter-spacing:.05em;padding:16px 0;border-bottom:1px solid var(--border);transition:color .15s ease}.nav-mobile-link:first-child{border-top:1px solid var(--border)}.nav-mobile-link:hover,.nav-mobile-link.active{color:var(--text-accent)}.nav-mobile-github{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--cta-fg);text-decoration:none;letter-spacing:.05em;background:var(--cta-bg);border:1px solid var(--cta-bg);border-radius:3px;padding:12px 20px;text-align:center;margin-top:24px;transition:opacity .15s ease}.nav-mobile-github:hover{opacity:.9}@media(max-width:768px){.site-nav{padding:0 20px}.nav-right{display:none}.nav-burger{display:flex}}.contact-overlay{display:none;position:fixed;inset:0;z-index:10000;background:#0a0a0ae6;align-items:center;justify-content:center;padding:20px}.contact-overlay.open{display:flex}.contact-modal{max-width:480px;width:100%;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:40px;position:relative}.contact-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer;transition:color .15s ease;line-height:1}.contact-close:hover{color:var(--text)}.contact-header{margin-bottom:32px}.contact-label{font-family:var(--mono);font-size:11px;letter-spacing:.15em;color:var(--text-dim);margin-bottom:12px}.contact-accent{color:var(--text-accent)}.contact-sub{font-size:14px;color:var(--text-muted);font-weight:300;line-height:1.5}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-field{display:flex;flex-direction:column;gap:6px}.contact-field-label{font-family:var(--mono);font-size:10px;color:var(--text-dim);letter-spacing:.1em}.contact-input{background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:10px 14px;color:var(--text);font-family:var(--sans);font-size:14px;font-weight:300;transition:border-color .15s ease;outline:none}.contact-input:focus{border-color:var(--text-accent)}.contact-textarea{resize:none;min-height:100px}.contact-actions{display:flex;gap:12px;margin-top:8px}.contact-cancel{flex:1;background:none;border:1px solid var(--border2);color:var(--text-muted);font-family:var(--mono);font-size:11px;letter-spacing:.05em;padding:10px;border-radius:3px;cursor:pointer;transition:border-color .15s ease}.contact-cancel:hover{border-color:var(--text-muted)}.contact-submit{flex:1;background:var(--cta-bg);border:none;color:var(--cta-fg);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px;border-radius:3px;cursor:pointer;transition:opacity .15s ease}.contact-submit:hover{opacity:.9}.contact-success{display:none;text-align:center;padding:32px 0}.contact-success-text{font-family:var(--mono);font-size:14px;color:var(--text-accent);letter-spacing:.05em;margin-bottom:8px}.contact-success-sub{font-size:13px;color:var(--text-muted);font-weight:300}@media(max-width:768px){.contact-modal{padding:24px}}.site-footer{border-top:1px solid var(--border);padding:56px 40px 40px}.footer-inner{max-width:1100px;margin:0 auto;display:flex;gap:64px}.footer-brand{display:flex;flex-direction:column;gap:16px;flex:0 0 auto;max-width:260px}.footer-logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text);letter-spacing:.05em;text-decoration:none}.footer-tagline{font-size:13px;color:var(--text-dim);font-weight:300;line-height:1.5;max-width:240px;margin:0}.footer-meta{display:flex;align-items:center;gap:16px}.footer-meta span,.footer-meta a{font-family:var(--mono);font-size:11px;color:var(--text-dim);letter-spacing:.05em;text-decoration:none}.footer-meta a{transition:color .15s ease}.footer-meta a:hover{color:var(--text-accent)}.footer-cols{flex:1;display:grid;grid-template-columns:repeat(5,1fr);gap:32px}.footer-col{display:flex;flex-direction:column;gap:12px}.footer-col-title{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.footer-col a{font-family:var(--mono);font-size:12px;color:var(--text-dim);text-decoration:none;letter-spacing:.02em;transition:color .15s ease}.footer-col a:hover{color:var(--text-accent)}@media(max-width:900px){.footer-inner{flex-direction:column;gap:40px}.footer-brand{max-width:none}.footer-cols{grid-template-columns:1fr 1fr;gap:32px 24px}}@media(max-width:768px){.site-footer{padding:40px 20px}}
