MediaWiki:Gadget-AerofoilDesigner.css: Difference between revisions
From Aodhán Gallagher
No edit summary |
No edit summary |
||
| Line 35: | Line 35: | ||
.aerofoil-value { | .aerofoil-value { | ||
displace: none; | |||
text-align: right; | text-align: right; | ||
font-variant-numeric: tabular-nums; | font-variant-numeric: tabular-nums; | ||
Revision as of 10:24, 23 September 2026
/* Interactive Bezier aerofoil designer */
#aerofoil-tool {
width: 100%;
max-width: 1200px;
margin: 1rem 0;
font-size: 0.95rem;
}
.aerofoil-controls {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
gap: 0.55rem 1rem;
margin-bottom: 0.8rem;
}
.aerofoil-control {
display: grid;
grid-template-columns: 150px minmax(120px, 1fr) 84px 68px;
align-items: center;
gap: 0.55rem;
}
.aerofoil-control-label {
font-weight: 600;
}
.aerofoil-control input[type='range'] {
width: 100%;
}
.aerofoil-number {
width: 100%;
box-sizing: border-box;
}
.aerofoil-value {
displace: none;
text-align: right;
font-variant-numeric: tabular-nums;
color: #54595d;
}
.aerofoil-actions {
display: flex;
justify-content: flex-end;
margin: 0.6rem 0;
}
.aerofoil-plot-wrap {
width: 100%;
overflow: hidden;
border: 1px solid #a2a9b1;
background: #fff;
}
.aerofoil-plot-wrap svg {
display: block;
width: 100%;
height: auto;
}
.aerofoil-grid {
stroke: #eaecf0;
stroke-width: 1;
}
.aerofoil-axis {
stroke: #72777d;
stroke-width: 1.2;
}
.aerofoil-profile {
fill: none;
stroke: #202122;
stroke-width: 1.8;
stroke-linejoin: round;
stroke-linecap: round;
}
.aerofoil-upper,
.aerofoil-lower {
fill: none;
stroke: #36c;
stroke-width: 2.4;
stroke-linejoin: round;
stroke-linecap: round;
}
.aerofoil-camber {
fill: none;
stroke: #72777d;
stroke-width: 1.3;
stroke-dasharray: 6 5;
}
.aerofoil-tick,
.aerofoil-axis-label {
fill: #54595d;
font-size: 13px;
font-family: sans-serif;
}
.aerofoil-empty {
fill: #a2a9b1;
font-size: 20px;
font-family: sans-serif;
}
.aerofoil-status {
margin-top: 0.7rem;
padding: 0.6rem 0.8rem;
border-left: 4px solid;
font-weight: 700;
}
.aerofoil-status.is-valid {
border-left-color: #14866d;
background: #f1fff8;
}
.aerofoil-status.is-invalid {
border-left-color: #b32424;
background: #fff4f4;
}
.aerofoil-checks {
display: flex;
flex-wrap: wrap;
gap: 0.45rem 1rem;
margin-top: 0.6rem;
font-size: 0.9rem;
}
.aerofoil-checks .pass {
color: #14866d;
}
.aerofoil-checks .fail {
color: #b32424;
font-weight: 700;
}
.aerofoil-note {
margin-top: 0.7rem;
color: #72777d;
font-size: 0.85rem;
}
@media (max-width: 700px) {
.aerofoil-controls {
grid-template-columns: 1fr;
}
.aerofoil-control {
grid-template-columns: 120px 1fr 78px;
}
.aerofoil-value {
display: none;
}
}
.aerofoil-subplot-title {
margin: 0.8rem 0 0.35rem;
font-weight: 700;
font-size: 1rem;
}
.aerofoil-construction-wrap {
margin-top: 0;
}
.aerofoil-thickness-curve {
fill: none;
stroke: #36c;
stroke-width: 2.2;
}
.aerofoil-camber-curve {
fill: none;
stroke: #14866d;
stroke-width: 2.2;
}
.aerofoil-thickness-control {
stroke: #36c;
stroke-width: 1.1;
stroke-dasharray: 4 4;
}
.aerofoil-camber-control {
stroke: #14866d;
stroke-width: 1.1;
stroke-dasharray: 4 4;
}
.aerofoil-thickness-point {
fill: #fff;
stroke: #36c;
stroke-width: 2;
}
.aerofoil-camber-point {
fill: #fff;
stroke: #14866d;
stroke-width: 2;
}
.aerofoil-control-point-label {
fill: #202122;
font-size: 11px;
font-family: sans-serif;
paint-order: stroke;
stroke: #fff;
stroke-width: 3px;
stroke-linejoin: round;
}
.aerofoil-legend-text {
fill: #54595d;
font-size: 12px;
font-family: sans-serif;
}