/* =========================
Top Navbar
Figma: Top Navbar.
App-level header bars: ghost (transparent over dark bg), solid white,
centered logo, and compact mobile header.
========================= */
@use "../kit-deps" as *;
.top-navbar {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
gap: $space-4;
width: 100%;
&--ghost {
padding: $space-4 $space-5;
color: $neutral-0;
}
&--solid {
padding: $space-3 $space-5;
background-color: $neutral-0;
border-bottom: $border-width-base $border-style-base $neutral-100;
color: $neutral-900;
.top-navbar__center .top-navbar__title {
color: $color-secondary;
}
}
&--centered {
justify-content: center;
padding: $space-5;
background-color: transparent;
color: $neutral-0;
}
&--compact {
padding: $space-2 $space-4;
background-color: $neutral-0;
border-bottom: $border-width-base $border-style-base $neutral-100;
color: $neutral-900;
.top-navbar__center .top-navbar__title {
color: $color-secondary;
}
}
&__brand {
display: inline-flex;
align-items: center;
gap: $space-3;
min-width: 0;
text-decoration: none;
color: inherit;
&:hover {
color: inherit;
}
}
&__logo {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
flex-shrink: 0;
border-radius: $radius-full;
background: radial-gradient(circle, $yellow-300 40%, $mint-500 41%, $mint-500 100%);
box-shadow: inset 0 0 0 2px rgba($neutral-0, 0.6);
&--sm {
width: 32px;
height: 32px;
}
}
&__title {
margin: 0;
font-size: $font-size-lg;
font-weight: $font-weight-bold;
line-height: $line-height-tight;
color: inherit;
}
&__center {
position: absolute;
left: 50%;
transform: translateX(-50%);
display: inline-flex;
align-items: center;
gap: $space-3;
max-width: 60%;
&--stack {
flex-direction: column;
gap: $space-1;
}
.top-navbar--centered & {
position: static;
transform: none;
max-width: none;
}
.top-navbar--compact & {
position: static;
transform: none;
flex: 1 1 auto;
justify-content: center;
max-width: none;
}
}
&__actions {
display: inline-flex;
align-items: center;
gap: $space-3;
margin-left: auto;
min-width: 0;
}
&__meta {
display: block;
color: $neutral-500;
font-size: $font-size-sm;
}
&__pill {
display: inline-flex;
align-items: center;
justify-content: center;
gap: $space-2;
padding: $space-2 $space-4;
border-radius: $radius-full;
border: $border-width-base $border-style-base $neutral-200;
background-color: $neutral-0;
color: $color-secondary;
font-size: $font-size-sm;
font-weight: $font-weight-semibold;
text-decoration: none;
cursor: pointer;
transition:
background-color $motion-base $motion-ease,
border-color $motion-base $motion-ease,
color $motion-base $motion-ease;
&:focus-visible {
@include focus_ring;
outline-offset: 2px;
}
&:hover {
background-color: $neutral-50;
border-color: $neutral-300;
}
.vmk-icon,
.ph {
color: currentColor;
}
}
}