Files
road-compiler/workbench/client/app.css

224 lines
3.3 KiB
CSS

* {
box-sizing: border-box;
}
body {
margin: 0;
background: #eef1ef;
color: #202523;
font:
14px system-ui,
sans-serif;
}
header {
height: 50px;
display: flex;
gap: 12px;
align-items: center;
padding: 0 16px;
background: #183a32;
color: #fff;
}
header span {
color: #c9d8d2;
}
#dirty-state.dirty {
color: #ffe08a;
font-weight: 700;
}
button {
border: 1px solid #82988f;
background: #fff;
color: #1d392f;
padding: 7px 10px;
border-radius: 3px;
cursor: pointer;
}
button:disabled {
cursor: default;
opacity: 0.55;
}
header button:first-of-type {
margin-left: auto;
}
main {
display: grid;
grid-template-columns: 260px minmax(0, 1fr) 320px;
height: calc(100vh - 50px);
}
aside {
overflow: auto;
background: #fff;
padding: 16px;
}
.issues {
border-right: 1px solid #d5dfda;
}
.inspector {
border-left: 1px solid #d5dfda;
}
.map {
position: relative;
background: #d7e2de;
min-height: 400px;
}
canvas {
width: 100%;
height: 100%;
display: block;
}
.legend {
position: absolute;
bottom: 12px;
left: 12px;
background: #fff;
padding: 8px;
box-shadow: 0 1px 4px #0003;
}
.legend i {
display: inline-block;
width: 18px;
height: 7px;
margin: 0 4px -1px 10px;
}
.reference {
background: #a5b0b5;
}
.native {
background: #296654;
}
.line {
height: 3px !important;
background: #263630;
}
.junction {
width: 10px !important;
height: 10px !important;
background: #0e7860;
border-radius: 50%;
}
.warning {
width: 10px !important;
height: 10px !important;
background: #d49318;
border-radius: 50%;
}
h1 {
font-size: 16px;
margin: 0 0 8px;
}
h2 {
font-size: 14px;
margin: 12px 0 8px;
}
.muted,
output,
pre {
color: #52615b;
}
.issues ul {
list-style: none;
padding: 0;
margin: 0;
}
.issues button {
width: 100%;
text-align: left;
margin: 4px 0;
background: #fff7e5;
border-color: #e7c67b;
color: #693c00;
}
.issues button.error {
background: #fff0ee;
border-color: #e3a49b;
color: #8d261a;
}
.segmented {
display: flex;
margin: 0 0 8px;
}
.segmented button {
flex: 1;
border-radius: 0;
padding: 6px 4px;
font-size: 12px;
}
.segmented button + button {
border-left: 0;
}
.segmented button:first-child {
border-radius: 3px 0 0 3px;
}
.segmented button:last-child {
border-radius: 0 3px 3px 0;
}
.segmented button.active {
background: #286956;
border-color: #286956;
color: #fff;
}
label {
display: block;
margin: 10px 0;
}
input[type='number'] {
display: block;
width: 100%;
padding: 7px;
border: 1px solid #aab8b2;
border-radius: 2px;
}
output,
pre {
display: block;
white-space: pre-wrap;
overflow-wrap: anywhere;
}
form button {
margin-top: 8px;
background: #286956;
color: white;
border: 0;
}
dl {
display: grid;
grid-template-columns: 1fr auto;
gap: 5px 10px;
margin: 0;
}
dt {
color: #52615b;
}
dd {
margin: 0;
font-variant-numeric: tabular-nums;
}
hr {
border: 0;
border-top: 1px solid #dde4e1;
margin: 16px 0;
}
details {
margin-top: 16px;
}
summary {
cursor: pointer;
font-weight: 600;
}
@media (max-width: 900px) {
main {
grid-template-columns: minmax(0, 1fr);
}
.issues {
display: none;
}
.inspector {
position: absolute;
right: 0;
bottom: 0;
width: min(360px, 100%);
max-height: 55vh;
border-top: 1px solid #d5dfda;
}
}