body { font-family: "Noto Sans", sans-serif; margin: 0; font-size: 10pt; } body.dark { background-color: #333; color: #777; } body.dark #story line { marker-end: url("#arrowHeadWhite"); stroke: white; } body.dark #status .hugvey { color: #333; } body.dark #timeline { background: #444; } .btn, input[type="submit"] { display: inline-block; cursor: pointer; background: #345; padding: 5px; color: white; border-radius: 3px; margin-right: 5px; white-space: nowrap; border: none; } .btn:hover, input[type="submit"]:hover { background: #666; } input[type="number"] { width: 80px; text-align: right; } @keyframes dash-animation { to { stroke-dashoffset: -1000; } } img.icon { height: .9em; width: .9em; } #interface { display: flex; flex-direction: row; height: 100vh; width: 100vw; } #interface #audioFiles, #interface #configuration { position: absolute; top: 30%; left: 30%; right: 30%; bottom: 30%; background: #ccc; overflow: auto; } #status { display: flex; flex-direction: row; flex-wrap: wrap; width: 380px; height: 100%; overflow-y: scroll; } .panopticon #status { width: 80%; } #status > div { width: 33.3333333%; height: 200px; border: solid 1px; box-sizing: border-box; position: relative; } #status > div#overview { width: 100% / 3; } #status .counts dd, #status .counts dt { display: inline-block; width: 30px; overflow: hidden; text-overflow: ellipsis; margiN: 0; } #status .counts dd:hover, #status .counts dt:hover { width: auto; } #status .hugvey { background-image: linear-gradient(to top, #587457, #35a589); color: white; display: flex; flex-direction: column; justify-content: center; width: 120px; flex-grow: 1; } .panopticon #status .hugvey { width: 160px; } #status .hugvey h1 { text-align: center; margin: 0; font-weight: normal; position: absolute; left: 5px; top: 5px; } #status .hugvey .status { font-style: italic; color: gray; position: absolute; top: 10px; right: 5px; } #status .hugvey .light { position: absolute; bottom: 3px; right: 3px; } #status .hugvey .light input { width: 4.2em; font-size: 20px; } #status .hugvey .stats .count { display: inline-block; margin-right: 10px; } #status .hugvey.hugvey--off { background-image: linear-gradient(to top, #575d74, #3572a5); } #status .hugvey.hugvey--off .status { text-align: center; } #status .hugvey.hugvey--gone { background-image: linear-gradient(to top, orange, #ce5c00); } #status .hugvey.hugvey--loading { background-image: linear-gradient(to top, #576074, #3581a5); } #status .hugvey.hugvey--loading .status { color: white; } #status .hugvey.hugvey--blocked { background-image: linear-gradient(to top, #888a85, #555753); } #status .hugvey.hugvey--available { background-image: linear-gradient(to top, #888a85, #e2f04a); } #status .hugvey.hugvey--available .status { color: darkgreen; } #status .hugvey.hugvey--paused { background-image: linear-gradient(to top, #587457, #e2f04a); } #story { position: relative; width: calc(100% - 380px); } #story.en-GB { background: #02547e; } #story.fr-FR { background: #5a434d; } #story.de-DE { background: slategray; } #story #controls { position: absolute; top: 5px; left: 5px; white-space: nowrap; } #story #controls.hidden { display: none; } #story svg#graph { width: 100%; height: 100%; cursor: grab; } #story svg#graph:active { cursor: grabbing; } #story svg#graph .beenHit circle { stroke: #0f0; stroke-width: 25px; } #story svg#graph line.beenHit { stroke: #0f0; } #story circle { cursor: pointer; fill: #77618e; } #story .startMsg circle { fill: lightseagreen !important; } #story .chapterStartMsg circle { transform: scale(1.5); fill: white !important; } #story .chapterStartMsg text { fill: black; } #story .orphanedMsg { fill: lightcoral !important; } #story text { text-anchor: middle; font-size: 11pt; font-family: sans-serif; fill: white; } #story text.msg_id { transform: translateY(-20px); opacity: .5; } #story text.msg_txt { font-weight: bold; } #story line { marker-end: url("#arrowHead"); stroke-width: 5px; stroke: black; } #story line.link--noconditions { stroke-dasharray: 5 4; stroke: red; } #story line.dir-highlight { stroke-dasharray: 5; animation: dash-animation 20s infinite linear; stroke-width: 3px; } #story label::after { content: ''; clear: both; display: block; } #story label { width: 100%; font-weight: bold; display: block; margin: 0 -10px; padding: 5px 10px; } #story label input, #story label select, #story label .label-value, #story label .label-unit { float: right; } #story label:nth-child(odd) { background-color: rgba(255, 255, 255, 0.3); } #story #msg { position: absolute; top: 0; right: 0; width: 385px; max-height: 100%; overflow-y: auto; } #story #msg .directions h3 { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; margin-right: 5em; } #story #msg .msg__info, #story #msg .directions > div { padding: 10px; margin-bottom: 10px; background: lightgray; } #story #msg .msg__info.btn, #story #msg .directions > div.btn { background: darkblue; } #story #msg h1 { margin: 0; } #story #msg .msg__info .btn--delete-mss { position: absolute; top: 15px; right: 10px; } #story #msg .play { text-align: center; } #story #msg .direction { position: relative; } #story #msg .direction h3 { margin-top: 0; } #story #msg .direction .btn--delete { position: absolute; top: 5px; right: 0px; } #story #msg #diversions .diversion { background: pink; } #story #nodes g:hover circle, #story .selectedMsg circle { stroke: lightgreen; stroke-width: 27; } #story .diversion circle { fill: pink !important; } #story .controlDown #nodes g:hover circle, #story .secondaryMsg circle { stroke: lightgreen; stroke-width: 5; stroke-dasharray: 10 3; } #story .condition { position: relative; } #story .condition h4 { text-align: center; } #story .condition.condition--add h4 { margin: 0; } #story .condition.condition--add h4 + div { margin-top: 10px; } #story .condition + .condition::before { content: "OR"; display: block; border-bottom: solid 2px; height: 10px; margin-bottom: 15px; text-align: center; text-shadow: 2px 2px 2px lightgray,-2px 2px 2px lightgray,2px -2px 2px lightgray,-2px -2px 2px lightgray; } #story .condition + .condition .btn--delete { margin-top: 20px; } .flag-icon { background-size: contain; background-position: 50%; background-repeat: no-repeat; position: relative; display: inline-block; width: 2.66667em; line-height: 2em; } .flag-icon:before { content: '\00a0'; } .flag-icon.flag-icon-squared { width: 2em; } .flag-icon.en-GB { background-image: url("/images/gb.svg"); } .flag-icon.de-DE { background-image: url("/images/de.svg"); } .flag-icon.fr-FR { background-image: url("/images/fr.svg"); } .flag-icon.fr-FR2 { background-image: url("/images/fr2.svg"); } .flag-icon.nl-NL { background-image: url("/images/nl.svg"); } .divToggle { cursor: pointer; } .divToggle:hover { text-decoration: underline; } .divToggle.opened + div { display: block; } .divToggle + div { display: none; } body.showTimeline #toggleTimeline { background-color: pink; } #timeline { position: absolute; left: 380px; right: 0; top: 0; bottom: 0; background: #eee; pointer-events: none; opacity: 0; overflow: auto; } body.showTimeline #timeline { opacity: 1; pointer-events: auto; } #timeline .vis-item.message { background: lightgray; } #timeline .vis-item.message.vis-range { background-color: darkgray; border-color: green; } #timeline .vis-item.speech { background-color: greenyellow; border-color: green; } #timeline .vis-text, #timeline .vis-labelset .vis-label { color: #999; } #timeline .vis-dot.WARNING { width: 10px; height: 10px; background: yellow; border-color: yellow; border-radius: 15px; } #timeline .vis-dot.ERROR { width: 20px; height: 20px; background: orange; border-color: orangered; border-radius: 15px; } #timeline .vis-dot.CRITICAL { width: 30px; height: 30px; background: red; border-color: darkred; border-radius: 15px; } #logbook { width: 20%; padding: 10px; color: #999; height: 100%; overflow-y: auto; } #logbook .log { margin-bottom: 10px; } #logbook .time { color: #666; } #logbook .content .origin { padding-right: 10px; color: orange; } #logbook .content .extra { color: #555; } #variables { position: absolute; bottom: 0; left: 0; color: white; } #variables .name { font-weight: bold; } #variables .name::after { content: " - "; } .loop_time { cursor: pointer; } #time_update { display: none; } #time_update.visible { display: block; }