rcnn/web/src/coaster/SimulationPlots.module.css
2026-04-21 16:33:15 +02:00

197 lines
3.9 KiB
CSS

.plotsPanel {
position: fixed;
left: 16px;
top: 60px;
z-index: 200;
width: 340px;
background: rgba(8, 8, 12, 0.84);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 12px;
overflow: hidden;
}
.plotsToggle {
width: 100%;
padding: 10px 14px;
background: transparent;
border: none;
color: rgba(255, 255, 255, 0.75);
font-size: 13px;
font-weight: 600;
cursor: pointer;
text-align: left;
display: flex;
align-items: center;
gap: 6px;
transition: background 0.15s;
}
.plotsToggle:hover {
background: rgba(255, 255, 255, 0.06);
}
.arrow {
font-style: normal;
display: inline-block;
transition: transform 0.15s;
font-size: 10px;
color: rgba(255, 255, 255, 0.4);
}
.arrowOpen {
transform: rotate(90deg);
}
.plotsBody {
padding: 4px 12px 12px;
border-top: 1px solid rgba(255, 255, 255, 0.07);
}
/* ── Strip list ─────────────────────────────────────────────────────────────── */
.sectionLabel {
margin: 10px 0 6px;
font-size: 10px;
font-weight: 600;
color: rgba(255, 255, 255, 0.3);
text-transform: uppercase;
letter-spacing: 0.07em;
}
.stripRow {
display: flex;
align-items: center;
gap: 6px;
margin-bottom: 6px;
font-size: 12px;
}
.stripIndex {
color: rgba(245, 158, 11, 0.9);
font-weight: 600;
min-width: 44px;
}
.stripRange {
color: rgba(255, 255, 255, 0.38);
font-size: 11px;
min-width: 60px;
}
.accelInput {
width: 50px;
background: rgba(255, 255, 255, 0.07);
border: 1px solid rgba(255, 255, 255, 0.14);
border-radius: 6px;
color: #fff;
font-size: 13px;
font-weight: 600;
padding: 2px 5px;
text-align: right;
}
.accelInput:focus {
outline: none;
border-color: rgba(245, 158, 11, 0.5);
}
.stripUnit {
color: rgba(255, 255, 255, 0.28);
font-size: 11px;
}
.stripDelete {
margin-left: auto;
width: 20px;
height: 20px;
border-radius: 4px;
border: 1px solid rgba(255, 69, 58, 0.25);
background: rgba(255, 69, 58, 0.08);
color: rgba(255, 100, 80, 0.85);
cursor: pointer;
font-size: 14px;
line-height: 1;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
}
.stripDelete:hover {
background: rgba(255, 69, 58, 0.2);
}
.noStrips {
font-size: 11px;
color: rgba(255, 255, 255, 0.25);
margin-bottom: 4px;
}
/* ── Charts ─────────────────────────────────────────────────────────────────── */
.divider {
height: 1px;
background: rgba(255, 255, 255, 0.07);
margin: 10px 0 6px;
}
.chartLabel {
font-size: 10px;
font-weight: 600;
color: rgba(255, 255, 255, 0.3);
text-transform: uppercase;
letter-spacing: 0.07em;
margin: 8px 0 2px;
}
.noProfile {
font-size: 11px;
color: rgba(255, 255, 255, 0.2);
margin-top: 8px;
text-align: center;
padding: 8px 0;
}
/* ── Ride stats (duration / length) ────────────────────────────────────────── */
.rideStats {
display: flex;
align-items: center;
justify-content: center;
gap: 0;
margin: 6px 0 4px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 8px;
padding: 6px 12px;
}
.rideStat {
display: flex;
flex-direction: column;
align-items: center;
gap: 2px;
flex: 1;
}
.rideStatLabel {
font-size: 9px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: rgba(255, 255, 255, 0.3);
}
.rideStatValue {
font-size: 15px;
font-weight: 700;
color: rgba(255, 255, 255, 0.85);
letter-spacing: 0.01em;
}
.rideStatDivider {
width: 1px;
height: 28px;
background: rgba(255, 255, 255, 0.1);
margin: 0 8px;
flex-shrink: 0;
}