/* One portfolio identity, independent of project palette or device theme. */
:root{--site-header-height:80px}
.site-header{box-sizing:border-box;position:fixed;inset:0 0 auto;z-index:100;height:var(--site-header-height);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(4vw,20px);background:#10110f;color:#eeeae0;border-block:1px solid #ffffff29;color-scheme:dark;font:13px/1.2 'IBM Plex Mono',monospace;letter-spacing:0}
.site-header.home-navigation{position:sticky;top:0}
body[data-page=case]{--header-height:var(--site-header-height);padding-top:var(--site-header-height)}
.site-header a{color:inherit;text-decoration:none;white-space:nowrap}
.site-header .site-nav-brand{display:flex;align-items:center;gap:20px;flex:none;min-height:44px}
.site-nav-brand img{display:block;flex:none;width:36px;height:32px;object-fit:contain;filter:invert(96%) sepia(10%) saturate(265%) hue-rotate(353deg) brightness(97%)}
.site-nav-brand span{font:10px/1.2 'IBM Plex Mono',monospace;color:#a3a49b}
.site-nav-actions,.site-nav-links{display:flex;align-items:center;gap:clamp(20px,2.2vw,36px)}
.site-header .site-nav-links a{display:flex;align-items:center;min-height:44px;font:13px/1.2 'IBM Plex Mono',monospace}
.site-header button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:44px;margin:0;padding:6px 0;border:0;border-radius:0;background:none;color:inherit;font:11px/1.2 'IBM Plex Mono',monospace;letter-spacing:0;white-space:nowrap;cursor:pointer}
.site-menu-toggle>span{font-size:20px;line-height:1}
.site-header :is(a,button):hover{color:#ffd400}
.site-header :is(a,button):focus-visible{outline:2px solid #ffd400;outline-offset:5px}
.site-header [hidden]{display:none}
.site-music-toggle svg{display:block;flex:none}
.site-music-toggle .home-music-sound{display:none}
.site-music-toggle[data-music-state=on] .home-music-sound{display:block}
.site-music-toggle[data-music-state=on] .home-music-muted,.site-music-toggle[data-music-state=ready] .home-music-muted{display:none}
.site-music-toggle[data-music-state=on] svg{color:#ffd400}
@media(max-width:1100px){.site-nav-actions,.site-nav-links{gap:20px}.site-header .site-nav-links a{font-size:12px}.site-nav-brand span{display:none}}
@media(max-width:900px){:root{--site-header-height:72px}.site-header .site-nav-links{display:none}.site-nav-brand span{display:inline}.site-nav-actions{gap:24px}}
@media(max-width:380px){.site-header{padding-inline:16px;gap:12px}.site-header .site-nav-brand{gap:10px}.site-nav-actions{gap:16px}.site-header button{font-size:10px}}
