chirp / frontend /src /components /BirdResult.module.css
mg643's picture
created frontend for chirp with dummy data
ffc05fe
.wrapper {
display: flex;
flex-direction: column;
gap: 1rem;
}
/* Hero */
.hero {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1.5rem;
background: white;
border-radius: var(--radius-lg);
padding: 1.5rem;
box-shadow: var(--shadow-card);
}
.heroText {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.4rem;
}
.detected {
font-size: 0.7rem;
font-weight: 400;
color: var(--mauve-400);
letter-spacing: 0.12em;
text-transform: uppercase;
}
.commonName {
font-family: var(--font-display);
font-size: 2rem;
font-weight: 400;
color: var(--ink);
line-height: 1.1;
letter-spacing: -0.01em;
}
.sciName {
font-family: var(--font-display);
font-size: 0.95rem;
font-style: italic;
color: var(--mauve-400);
font-weight: 300;
}
.confidencePill {
display: inline-block;
padding: 0.3rem 0.8rem;
border-radius: 100px;
font-size: 0.78rem;
font-weight: 500;
letter-spacing: 0.04em;
margin-top: 0.3rem;
align-self: flex-start;
}
.heroImage {
width: 110px;
height: 110px;
border-radius: var(--radius-md);
overflow: hidden;
flex-shrink: 0;
box-shadow: var(--shadow-soft);
}
.heroImage img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* Card */
.card {
background: white;
border-radius: var(--radius-lg);
padding: 1.3rem 1.5rem;
box-shadow: var(--shadow-soft);
display: flex;
flex-direction: column;
gap: 0.9rem;
}
.cardLabel {
font-size: 0.7rem;
font-weight: 400;
color: var(--mauve-400);
letter-spacing: 0.12em;
text-transform: uppercase;
}
/* Prediction bars */
.bars {
display: flex;
flex-direction: column;
gap: 0.7rem;
}
.barRow {
display: flex;
align-items: center;
gap: 0.75rem;
}
.barName {
font-size: 0.82rem;
color: var(--ink-light);
width: 130px;
flex-shrink: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.barTrack {
flex: 1;
height: 6px;
background: var(--beige-200);
border-radius: 3px;
overflow: hidden;
}
.barFill {
height: 100%;
border-radius: 3px;
}
.barPct {
font-size: 0.78rem;
color: var(--mauve-400);
width: 36px;
text-align: right;
flex-shrink: 0;
}
/* Fact grid */
.factGrid {
display: flex;
flex-direction: column;
gap: 0.6rem;
}
.factItem {
display: flex;
align-items: baseline;
gap: 0.75rem;
}
.factKey {
font-size: 0.72rem;
color: var(--mauve-400);
letter-spacing: 0.08em;
text-transform: uppercase;
width: 64px;
flex-shrink: 0;
}
.factVal {
font-size: 0.88rem;
color: var(--ink-light);
}
/* Fun facts */
.factsList {
list-style: none;
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.factLine {
display: flex;
align-items: flex-start;
gap: 0.75rem;
font-size: 0.875rem;
color: var(--ink-light);
line-height: 1.5;
}
.factDot {
width: 6px;
height: 6px;
border-radius: 50%;
flex-shrink: 0;
margin-top: 6px;
}