.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-dd{position:relative;display:inline-flex;align-items:center}.nav-dd-trigger{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:0;cursor:pointer}.nav-dd-caret{opacity:.65;transition:transform .15s ease}.nav-dd:hover .nav-dd-caret,.nav-dd:focus-within .nav-dd-caret{transform:rotate(180deg)}.nav-dd:after{content:"";position:absolute;top:100%;left:-12px;right:-12px;height:12px}.nav-dd-panel{position:absolute;top:calc(100% + 8px);left:50%;min-width:184px;display:flex;flex-direction:column;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 12px 32px #00000059;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%) translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s;z-index:101}.nav-dd:hover .nav-dd-panel,.nav-dd:focus-within .nav-dd-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0)}.nav-dd-link{font-family:var(--mono);font-size:12px;color:var(--text-muted);text-decoration:none;letter-spacing:.04em;padding:8px 10px;border-radius:4px;white-space:nowrap;transition:color .15s ease,background .15s ease}.nav-dd-link:hover,.nav-dd-link.active{color:var(--text-accent);background:var(--surface2)}.nav-dd-link--all{margin-top:4px;padding-top:12px;border-top:1px solid var(--border);color:var(--text-dim)}.nav-dd-panel--mega{left:auto;right:0;flex-direction:row;gap:32px;min-width:380px;padding:18px 20px;transform:translateY(-4px)}.nav-dd--mega:hover .nav-dd-panel--mega,.nav-dd--mega:focus-within .nav-dd-panel--mega{transform:translateY(0)}.nav-dd-panel--left{left:0;right:auto}.nav-dd-col{display:flex;flex-direction:column;min-width:150px}.nav-dd-col-title{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;padding:0 10px 8px}.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-group-title{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--text-dim);letter-spacing:.12em;padding:22px 0 6px}.nav-mobile-sublink{padding-left:16px}.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}}
