Files
PolyWeather/frontend/components/dashboard/DetailPanelContent.module.css
T

295 lines
5.8 KiB
CSS
Raw Normal View History

/* Detail panel content styles. */
.root :global(.detail-grid) {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.root :global(.detail-card) {
background: rgba(255, 255, 255, 0.03);
border: 1px solid var(--border-subtle);
border-radius: 12px;
padding: 12px;
}
.root :global(.detail-source-list) {
display: grid;
grid-template-columns: 1fr;
gap: 10px;
}
.root :global(.detail-source-note) {
margin: 8px 0 12px;
color: var(--text-muted);
font-size: 12px;
line-height: 1.6;
}
.root :global(.detail-source-link) {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 12px 14px;
border-radius: 12px;
border: 1px solid var(--border-subtle);
background: rgba(255, 255, 255, 0.03);
color: var(--text-main);
text-decoration: none;
transition:
background 0.18s ease,
border-color 0.18s ease,
transform 0.18s ease;
}
.root :global(.detail-source-link:hover) {
background: rgba(34, 211, 238, 0.08);
border-color: rgba(34, 211, 238, 0.28);
transform: translateY(-1px);
}
.root :global(.detail-source-kind) {
font-size: 10px;
font-weight: 700;
letter-spacing: 0.12em;
color: var(--accent-cyan);
text-transform: uppercase;
flex-shrink: 0;
}
.root :global(.detail-source-label) {
font-size: 13px;
font-weight: 600;
color: var(--text-main);
text-align: right;
}
.root :global(.detail-label) {
display: block;
color: var(--text-muted);
font-size: 11px;
margin-bottom: 6px;
}
.root :global(.detail-value) {
display: block;
color: var(--text-primary);
font-size: 14px;
font-weight: 700;
line-height: 1.5;
word-break: break-word;
}
.root :global(.profile-lead) {
color: var(--text-secondary);
font-size: 13px;
line-height: 1.7;
}
.root :global(.detail-mini-chart-wrap) {
display: grid;
gap: 10px;
}
.root :global(.detail-mini-chart) {
position: relative;
height: 210px;
border: 1px solid var(--border-subtle);
border-radius: 12px;
background: rgba(255, 255, 255, 0.02);
padding: 10px;
}
.root :global(.scan-city-detail-rail .detail-mini-chart) {
height: 230px;
}
.root :global(.detail-mini-chart canvas) {
width: 100% !important;
height: 100% !important;
}
.root :global(.detail-mini-chart-legend) {
display: flex;
flex-wrap: wrap;
gap: 8px 12px;
color: var(--text-muted);
font-size: 11px;
line-height: 1.4;
}
.root :global(.detail-mini-chart-legend span) {
display: inline-flex;
align-items: center;
gap: 6px;
min-width: 0;
}
.root :global(.detail-mini-chart-legend i) {
width: 16px;
height: 3px;
border-radius: 999px;
flex: 0 0 auto;
}
.root :global(.detail-mini-chart-legend i.forecast) {
background: rgba(100, 116, 139, 0.72);
}
.root :global(.detail-mini-chart-legend i.forecast.calibrated) {
background: #38bdf8;
}
.root :global(.detail-mini-chart-legend i.observation) {
width: 7px;
height: 7px;
background: #22c55e;
}
.root :global(.detail-mini-meta) {
color: var(--text-muted);
font-size: 11px;
line-height: 1.55;
}
.root :global(.insight-list) {
display: grid;
gap: 10px;
}
.root :global(.insight-item) {
background: rgba(255, 255, 255, 0.03);
border: 1px solid var(--border-subtle);
border-radius: 12px;
padding: 12px;
}
.root :global(.insight-title) {
color: var(--accent-cyan);
font-size: 12px;
font-weight: 700;
margin-bottom: 6px;
}
.root :global(.insight-text) {
color: var(--text-secondary);
font-size: 13px;
line-height: 1.65;
}
.root :global(.detail-scenery-card) {
position: relative;
min-height: 210px;
border-radius: 16px;
overflow: hidden;
border: 1px solid var(--border-subtle);
background:
linear-gradient(180deg, rgba(15, 23, 42, 0.18), rgba(15, 23, 42, 0.78)),
rgba(255, 255, 255, 0.03);
}
.root :global(.detail-scenery-image) {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.root :global(.detail-scenery-overlay) {
position: relative;
z-index: 1;
min-height: 210px;
padding: 18px;
display: flex;
flex-direction: column;
justify-content: space-between;
background: linear-gradient(
180deg,
rgba(2, 6, 23, 0.08) 0%,
rgba(2, 6, 23, 0.86) 100%
);
}
.root :global(.detail-scenery-copy),
.root :global(.detail-scenery-fallback) {
display: flex;
flex-direction: column;
gap: 6px;
}
.root :global(.detail-scenery-fallback) {
min-height: 210px;
padding: 18px;
justify-content: flex-end;
background:
radial-gradient(
circle at top left,
rgba(34, 211, 238, 0.12),
transparent 34%
),
linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(2, 6, 23, 0.96));
}
.root :global(.detail-scenery-kicker) {
color: rgba(226, 232, 240, 0.78);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
}
.root :global(.detail-scenery-title) {
color: #fff;
font-size: 22px;
font-weight: 800;
letter-spacing: -0.03em;
text-shadow: 0 6px 22px rgba(2, 6, 23, 0.42);
}
.root :global(.detail-scenery-subtitle) {
max-width: 320px;
color: rgba(226, 232, 240, 0.9);
font-size: 13px;
line-height: 1.6;
text-shadow: 0 2px 10px rgba(2, 6, 23, 0.45);
}
.root :global(.detail-scenery-credit) {
align-self: flex-start;
color: rgba(226, 232, 240, 0.9);
font-size: 11px;
text-decoration: none;
padding: 6px 10px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.14);
background: rgba(2, 6, 23, 0.35);
backdrop-filter: blur(10px);
}
.root :global(.detail-scenery-credit:hover) {
border-color: rgba(34, 211, 238, 0.4);
color: #fff;
}
@media (max-width: 640px) {
.root :global(.detail-grid) {
grid-template-columns: 1fr;
}
.root :global(.detail-mini-chart) {
height: 170px;
}
.root :global(.detail-source-link) {
padding: 10px 12px;
align-items: flex-start;
flex-direction: column;
}
.root :global(.detail-source-label) {
text-align: left;
}
}