1256 lines
23 KiB
CSS
1256 lines
23 KiB
CSS
:root {
|
|
--fixed-padding: unset;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
height: 100vh;
|
|
font: 12px arial,sans-serif;
|
|
}
|
|
|
|
a {
|
|
color: #000;
|
|
transition: color .5s;
|
|
}
|
|
a:hover {
|
|
color: #666;
|
|
}
|
|
|
|
#global-progress {
|
|
position: fixed;
|
|
height: 4px;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
background-color: hsla(180, 66%, 36%, .25);
|
|
border-left: 0 solid darkcyan;
|
|
z-index: 2147483647;
|
|
opacity: 0;
|
|
transition: opacity 2s;
|
|
contain: strict;
|
|
}
|
|
#global-progress[title] {
|
|
opacity: 1;
|
|
}
|
|
|
|
html.is-new-style #preview-label,
|
|
html.is-new-style #publish,
|
|
.hidden {
|
|
display: none !important;
|
|
}
|
|
html.is-new-style #heading::after {
|
|
content: attr(data-add);
|
|
}
|
|
html:not(.is-new-style) #heading::after {
|
|
content: attr(data-edit);
|
|
}
|
|
|
|
/************ embedded popup for simple-window editor ************/
|
|
#popup-iframe {
|
|
max-height: 600px;
|
|
position: fixed;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: 1001;
|
|
border: none;
|
|
background: #fff;
|
|
box-shadow: 0 0 30px #000;
|
|
}
|
|
#popup-iframe:not([data-loaded]) {
|
|
opacity: 0;
|
|
}
|
|
#popup-button {
|
|
position: fixed;
|
|
right: 7px;
|
|
top: 11px;
|
|
z-index: 1000;
|
|
cursor: pointer;
|
|
transition: filter .25s;
|
|
}
|
|
#popup-button:hover {
|
|
filter: drop-shadow(0 0 3px hsl(180, 70%, 50%));
|
|
}
|
|
.usercss body:not(.compact-layout) #popup-button {
|
|
right: 24px;
|
|
}
|
|
/************ checkbox & select************/
|
|
.options-column > div[class="option"] {
|
|
margin-bottom: 4px;
|
|
}
|
|
.options-column > .usercss-only {
|
|
margin-bottom: .75rem;
|
|
}
|
|
label {
|
|
padding-left: 16px;
|
|
position: relative;
|
|
}
|
|
input[type="checkbox"] {
|
|
vertical-align: middle;
|
|
}
|
|
/************ header ************/
|
|
#header {
|
|
width: 280px;
|
|
height: 100vh;
|
|
overflow: auto;
|
|
position: fixed;
|
|
top: 0;
|
|
padding: 1rem;
|
|
border-right: 1px dashed #AAA;
|
|
box-shadow: 0 0 3rem -1.2rem black;
|
|
box-sizing: border-box;
|
|
z-index: 10;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
#header h1 {
|
|
margin-top: 0;
|
|
}
|
|
.main {
|
|
padding-left: 280px;
|
|
height: 100%;
|
|
}
|
|
#sections {
|
|
min-height: 0;
|
|
height: 100%;
|
|
}
|
|
#sections h2 {
|
|
margin-top: 1rem;
|
|
margin-left: 1.7rem;
|
|
}
|
|
.aligned {
|
|
display: table-row;
|
|
}
|
|
.aligned > *:not(.svg-inline-wrapper) {
|
|
display: table-cell;
|
|
margin-top: 0.1rem;
|
|
min-height: 1.4rem;
|
|
}
|
|
|
|
/* basic info */
|
|
#basic-info {
|
|
margin-bottom: 1rem;
|
|
}
|
|
#name {
|
|
width: 100%;
|
|
}
|
|
#basic-info-name {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
#reset-name {
|
|
margin: 0 .25em 0 .5em;
|
|
}
|
|
#url {
|
|
margin-left: 0.25rem;
|
|
}
|
|
#url:not([href^="http"]) {
|
|
display: none;
|
|
}
|
|
|
|
#basic-info-enabled {
|
|
margin-top: 2px;
|
|
display: flex;
|
|
align-items: center;
|
|
line-height: 16px;
|
|
}
|
|
|
|
#basic-info-enabled > * {
|
|
margin-right: 1em;
|
|
margin-left: 0;
|
|
}
|
|
|
|
#basic-info-enabled > :last-child {
|
|
margin-right: 0;
|
|
}
|
|
|
|
#basic-info-enabled input,
|
|
#basic-info-enabled svg {
|
|
margin: auto 0;
|
|
bottom: 0;
|
|
}
|
|
|
|
#basic-info-enabled svg {
|
|
left: 2px;
|
|
}
|
|
|
|
#preview-errors {
|
|
background-color: red;
|
|
color: white;
|
|
padding: 0 6px;
|
|
border-radius: 9px;
|
|
margin-left: -.5em;
|
|
font-weight: bold;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.svg-icon {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.svg-inline-wrapper {
|
|
margin-left: .2rem;
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
}
|
|
#colorpicker-settings.svg-inline-wrapper {
|
|
margin: -2px 0 0 .1rem;
|
|
}
|
|
.svg-inline-wrapper.applies-to-help {
|
|
margin: 0 0 0 .25rem;
|
|
}
|
|
.aligned .svg-inline-wrapper {
|
|
margin: -2px 0 0 .3rem;
|
|
}
|
|
#sections-help {
|
|
margin-left: -1px;
|
|
}
|
|
.svg-icon.info {
|
|
width: 14px;
|
|
height: 16px;
|
|
}
|
|
.svg-icon:hover,
|
|
.svg-icon.info,
|
|
.svg-icon.settings {
|
|
fill: #666;
|
|
}
|
|
.svg-icon,
|
|
.svg-icon.info:hover,
|
|
.svg-icon.settings:hover {
|
|
fill: #000;
|
|
}
|
|
#options span .svg-icon {
|
|
margin-top: -3px; /* inline info and config icons */
|
|
}
|
|
input:invalid {
|
|
background-color: rgba(255, 0, 0, 0.1);
|
|
color: darkred;
|
|
}
|
|
#enabled {
|
|
margin-left: 0;
|
|
}
|
|
/* collapsibles */
|
|
#header summary {
|
|
align-items: center;
|
|
margin-left: -13px;
|
|
cursor: pointer;
|
|
}
|
|
#header summary + * {
|
|
padding: .5rem 0;
|
|
}
|
|
#header summary h2 {
|
|
display: inline-block;
|
|
border-bottom: 1px dotted transparent;
|
|
margin-top: .1em;
|
|
margin-bottom: .1em;
|
|
margin-left: -13px;
|
|
padding-left: 13px; /* clicking directly on details-marker doesn't set pref so we cover it with h2 */
|
|
}
|
|
|
|
#header summary:hover h2 {
|
|
border-color: #bbb;
|
|
}
|
|
|
|
#header summary svg {
|
|
margin-top: -3px;
|
|
}
|
|
|
|
#details-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-grow: 1;
|
|
}
|
|
|
|
#header details[open] + details[open] {
|
|
margin-top: .5rem;
|
|
}
|
|
|
|
#actions > * {
|
|
display: inline-flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
#mozilla-format-buttons {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
}
|
|
|
|
#actions > div > a {
|
|
height: min-content;
|
|
}
|
|
|
|
#actions button,
|
|
#actions > div > a {
|
|
margin: 0 .2rem .5rem 0;
|
|
}
|
|
|
|
#actions #cancel-button {
|
|
margin: 0;
|
|
}
|
|
|
|
#options:not([open]) + #lint h2 {
|
|
margin-top: 0;
|
|
}
|
|
#lint:not([open]) h2 {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
#publish > div > * {
|
|
margin-top: .75em;
|
|
}
|
|
#publish a:visited {
|
|
margin-top: .75em;
|
|
}
|
|
#publish[data-connected] summary::marker,
|
|
#publish[data-connected] h2 {
|
|
color: hsl(180, 100%, 20%);
|
|
}
|
|
#publish:not([data-connected]) #usw-link-info,
|
|
#publish:not([data-connected]) #usw-disconnect {
|
|
display: none;
|
|
}
|
|
#publish[data-connected] #usw-publish-style::after {
|
|
content: attr(data-push);
|
|
}
|
|
#publish:not([data-connected]) #usw-publish-style::after {
|
|
content: attr(data-publish);
|
|
}
|
|
#usw-link-info dl {
|
|
margin: 0;
|
|
display: flex;
|
|
}
|
|
#usw-link-info dt {
|
|
flex-shrink: 0;
|
|
}
|
|
#usw-link-info dt::after {
|
|
content: ":"
|
|
}
|
|
#usw-link-info dt,
|
|
#usw-link-info dd {
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
#usw-link-info dd {
|
|
margin-left: .5em;
|
|
}
|
|
#usw-link-info dd[data-usw="name"] {
|
|
font-weight: bold;
|
|
}
|
|
#usw-progress {
|
|
position: relative;
|
|
vertical-align: top;
|
|
}
|
|
#usw-progress .success,
|
|
#usw-progress .unchanged {
|
|
font-size: 150%;
|
|
font-weight: bold;
|
|
position: absolute;
|
|
margin-left: .25em;
|
|
}
|
|
#usw-progress .success {
|
|
margin-top: -.25em;
|
|
}
|
|
#usw-progress .success::after {
|
|
content: '\2713'; /* checkmark */
|
|
}
|
|
#usw-progress .unchanged::after {
|
|
content: '=';
|
|
}
|
|
#usw-progress .error {
|
|
display: block;
|
|
margin-top: .5em;
|
|
color: red;
|
|
}
|
|
#usw-progress .error + div {
|
|
font-size: smaller;
|
|
}
|
|
#usw-progress .lds-spinner {
|
|
transform: scale(0.125);
|
|
transform-origin: 0 10px;
|
|
}
|
|
/* options */
|
|
#options [type="number"] {
|
|
width: 3.5em;
|
|
text-align: left;
|
|
padding-left: .25em;
|
|
}
|
|
#options .option.aligned > label {
|
|
padding: .1rem .25rem 0 0;
|
|
vertical-align: middle;
|
|
}
|
|
/* footer */
|
|
#footer {
|
|
display: none;
|
|
}
|
|
.usercss #footer {
|
|
display: block;
|
|
margin-top: 1em;
|
|
margin-bottom: .5em;
|
|
}
|
|
#lint:not([open]) + #footer {
|
|
margin-top: 4em;
|
|
}
|
|
/************ section editor ***********/
|
|
.CodeMirror-vscrollbar,
|
|
.CodeMirror-hscrollbar {
|
|
box-shadow: none !important;
|
|
pointer-events: auto !important; /* FF bug */
|
|
}
|
|
.section-editor .section {
|
|
margin: 0 0.7rem;
|
|
padding: 1rem;
|
|
}
|
|
.section-editor .section:not(:first-child) {
|
|
border-top: 2px solid hsl(0, 0%, 80%);
|
|
}
|
|
.add-section:after {
|
|
content: attr(short-text);
|
|
}
|
|
#sections > div:only-of-type .add-section:after {
|
|
content: attr(long-text);
|
|
}
|
|
#sections > div:only-of-type .remove-section {
|
|
display: none;
|
|
}
|
|
.edit-actions {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
.edit-actions button {
|
|
margin-right: .2rem;
|
|
}
|
|
.dirty > label::before {
|
|
content: "*";
|
|
font-weight: bold;
|
|
}
|
|
#sections {
|
|
counter-reset: codebox;
|
|
}
|
|
#sections > .section:not(.removed) > label {
|
|
padding: 0 0 4px 0;
|
|
display: inline-block;
|
|
font-size: 13px;
|
|
animation: 2s highlight;
|
|
animation-play-state: paused;
|
|
animation-direction: reverse;
|
|
animation-fill-mode: both;
|
|
}
|
|
#sections > .section > label::after {
|
|
counter-increment: codebox;
|
|
content: counter(codebox) ": " attr(data-text);
|
|
margin-left: 0.25rem;
|
|
}
|
|
.single-editor .applies-to {
|
|
border-width: 1px 0;
|
|
}
|
|
.single-editor .applies-to > label::before {
|
|
content: attr(data-index) ":";
|
|
margin-right: 0.25rem;
|
|
}
|
|
.code-label[data-text] {
|
|
font-weight: bold;
|
|
}
|
|
#toc {
|
|
counter-reset: codelabel;
|
|
margin: 0;
|
|
padding: .5rem 0;
|
|
}
|
|
#toc li {
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
cursor: pointer;
|
|
}
|
|
#toc li.current:not(:only-child) {
|
|
font-weight: bold;
|
|
}
|
|
#toc li[tabindex="-1"] {
|
|
opacity: .25;
|
|
pointer-events: none;
|
|
}
|
|
#toc li:hover {
|
|
background-color: hsla(180, 50%, 36%, .2);
|
|
}
|
|
#toc li[tabindex="0"]::before {
|
|
counter-increment: codelabel;
|
|
content: counter(codelabel) ": ";
|
|
}
|
|
.section:only-of-type .move-section-up,
|
|
.section:only-of-type .move-section-down {
|
|
display: none;
|
|
}
|
|
.section .CodeMirror {
|
|
margin-bottom: .875rem;
|
|
box-sizing: border-box;
|
|
}
|
|
/* deleted section */
|
|
.deleted-section {
|
|
margin: 0;
|
|
}
|
|
.section .deleted-section {
|
|
display: none;
|
|
}
|
|
.section.removed .deleted-section {
|
|
display: block;
|
|
}
|
|
.section.removed .code-label,
|
|
.section.removed .applies-to,
|
|
.section.removed .edit-actions,
|
|
.section.removed .CodeMirror {
|
|
display: none;
|
|
}
|
|
.move-section-up:after {
|
|
content: "";
|
|
display: block;
|
|
border-style: solid;
|
|
border-width: 0 .3em .5em .3em;
|
|
border-color: transparent transparent currentColor transparent;
|
|
}
|
|
.move-section-down:after {
|
|
content: "";
|
|
display: block;
|
|
border-style: solid;
|
|
border-width: .5em .3em 0 .3em;
|
|
border-color: currentColor transparent transparent transparent;
|
|
}
|
|
/* code */
|
|
.code {
|
|
height: 10rem;
|
|
width: 40rem;
|
|
}
|
|
.resize-grip-enabled .CodeMirror-scroll {
|
|
height: auto !important;;
|
|
position: absolute !important;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 6px; /* resize-grip height */
|
|
}
|
|
.resize-grip-enabled .CodeMirror-vscrollbar {
|
|
margin-bottom: 7px; /* make space for resize-grip */
|
|
}
|
|
.resize-grip-enabled .CodeMirror-hscrollbar {
|
|
bottom: 7px; /* make space for resize-grip */
|
|
}
|
|
.resize-grip-enabled .CodeMirror-scrollbar-filler {
|
|
bottom: 7px; /* make space for resize-grip */
|
|
}
|
|
body:not(.find-open) .cm-matchhighlight,
|
|
body:not(.find-open) .CodeMirror-selection-highlight-scrollbar {
|
|
animation: fadein-match-highlighter 1s cubic-bezier(.97,.01,.42,.98);
|
|
animation-fill-mode: both;
|
|
}
|
|
body:not(.find-open) [data-match-highlight-count="1"] .cm-matchhighlight,
|
|
body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-highlight-scrollbar {
|
|
animation: none;
|
|
}
|
|
@keyframes highlight {
|
|
from {
|
|
background-color: #ff9;
|
|
}
|
|
to {
|
|
background-color: inherit;
|
|
}
|
|
}
|
|
@keyframes fadein {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
@keyframes fadein-match-highlighter {
|
|
from { background-color: transparent; }
|
|
to { background-color: rgba(1, 151, 193, 0.1); }
|
|
}
|
|
.resize-grip {
|
|
position: absolute;
|
|
display: block;
|
|
height: 6px;
|
|
content: "";
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
z-index: 9;
|
|
cursor: n-resize;
|
|
background-color: inherit;
|
|
border-top-width: 1px;
|
|
border-top-style: solid;
|
|
border-top-color: inherit;
|
|
}
|
|
.resize-grip:after {
|
|
content: "";
|
|
bottom: 2px;
|
|
left: 0;
|
|
right: 0;
|
|
margin: 0 8px;
|
|
display: block;
|
|
position: absolute;
|
|
border-top-width: 2px;
|
|
border-top-style: dotted;
|
|
border-top-color: inherit;
|
|
}
|
|
/* applies-to */
|
|
.applies-to {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
min-height: 30px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.applies-to.error {
|
|
background-color: #f002;
|
|
border-color: #f008;
|
|
}
|
|
.applies-to label {
|
|
display: flex;
|
|
padding: 0;
|
|
height: 22px;
|
|
align-items: center;
|
|
margin: 0 .2em 0 0;
|
|
white-space: nowrap;
|
|
}
|
|
.applies-to ul {
|
|
flex: auto;
|
|
flex-grow: 1;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
.applies-to li {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
list-style-type: none;
|
|
align-items: center;
|
|
}
|
|
.applies-to li.applies-to-everything {
|
|
align-items: unset;
|
|
line-height: 22px;
|
|
}
|
|
.applies-to li > input {
|
|
min-height: 1.4rem;
|
|
}
|
|
.applies-to li:not(.applies-to-everything) > * {
|
|
margin: 0 .2rem .5rem 0;
|
|
}
|
|
.applies-to li .add-applies-to:first-child {
|
|
margin-left: 1rem;
|
|
}
|
|
.applies-to li .applies-value-wrapper {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
}
|
|
.applies-to li .applies-value {
|
|
flex-grow: 1;
|
|
padding-left: 0.2rem;
|
|
}
|
|
.applies-to img {
|
|
vertical-align: bottom;
|
|
}
|
|
.add-applies-to,
|
|
.remove-applies-to {
|
|
font-size: 0;
|
|
height: 22px;
|
|
width: 22px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
}
|
|
.add-applies-to .svg-icon,
|
|
.remove-applies-to .svg-icon {
|
|
pointer-events: none;
|
|
fill: hsl(0, 0%, 60%);
|
|
height: 12px;
|
|
width: 12px;
|
|
}
|
|
.add-applies-to:hover .svg-icon,
|
|
.remove-applies-to:hover .svg-icon {
|
|
pointer-events: none;
|
|
fill: hsl(0, 0%, 0%);
|
|
}
|
|
.test-regexp {
|
|
display: none;
|
|
}
|
|
.has-regexp .test-regexp {
|
|
display: inline-block;
|
|
}
|
|
.regexp-report summary {
|
|
cursor: pointer;
|
|
}
|
|
.regexp-report mark {
|
|
background-color: rgba(255, 255, 0, .5);
|
|
}
|
|
.regexp-report details {
|
|
margin-left: 1rem;
|
|
word-break: break-all;
|
|
}
|
|
.regexp-report details {
|
|
margin-bottom: 1rem;
|
|
}
|
|
.regexp-report summary {
|
|
font-weight: bold;
|
|
margin-left: -1rem;
|
|
margin-bottom: .5rem;
|
|
cursor: default;
|
|
overflow-wrap: break-word;
|
|
}
|
|
.regexp-report details[data-type="full"] {
|
|
color: darkgreen;
|
|
}
|
|
.regexp-report details[data-type="partial"] {
|
|
color: darkgray;
|
|
}
|
|
.regexp-report details[data-type="invalid"] {
|
|
color: maroon;
|
|
}
|
|
.regexp-report details details {
|
|
margin-left: 2rem;
|
|
margin-top: .5rem;
|
|
}
|
|
.regexp-report details div {
|
|
max-height: calc(100vh - 15rem);
|
|
overflow-y: auto;
|
|
}
|
|
.regexp-report .svg-icon {
|
|
position: absolute;
|
|
margin-top: -1px;
|
|
}
|
|
.regexp-report details a {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
display: block;
|
|
cursor: pointer;
|
|
}
|
|
.regexp-report details a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.regexp-report details a img {
|
|
width: 16px;
|
|
max-height: 16px;
|
|
vertical-align: middle;
|
|
margin-right: .5em;
|
|
}
|
|
.regexp-report-note {
|
|
color: #999;
|
|
position: absolute;
|
|
bottom: 0;
|
|
hyphens: auto;
|
|
}
|
|
/************ help popup ************/
|
|
#help-popup {
|
|
top: 3rem;
|
|
right: 3rem;
|
|
max-width: 50vw;
|
|
position: fixed;
|
|
display: none;
|
|
background-color: white;
|
|
box-shadow: 3px 3px 30px rgba(0, 0, 0, 0.5);
|
|
padding: 0.5rem;
|
|
z-index: 99;
|
|
}
|
|
#help-popup.big,
|
|
#help-popup.wide {
|
|
max-width: 100%;
|
|
}
|
|
#help-popup.big {
|
|
box-shadow: rgba(0, 0, 0, 0.45) 0px 0px 0px 100000px !important;
|
|
left: calc(280px - 3rem);
|
|
}
|
|
#help-popup.big .CodeMirror {
|
|
min-height: 2rem;
|
|
height: 70vh;
|
|
}
|
|
#help-popup .title {
|
|
font-weight: bold;
|
|
background-color: rgba(0,0,0,0.05);
|
|
margin: -0.5rem -0.5rem 0.5rem;
|
|
padding: .5rem 32px .5rem .5rem;
|
|
}
|
|
#help-popup .contents {
|
|
max-height: calc(100vh - 8rem);
|
|
overflow-y: auto;
|
|
}
|
|
#help-popup .settings {
|
|
min-width: 500px;
|
|
min-height: 200px;
|
|
max-width: 48vw;
|
|
}
|
|
#help-popup .dismiss {
|
|
position: absolute;
|
|
right: 4px;
|
|
top: .5em;
|
|
}
|
|
#help-popup input[type="search"],
|
|
#help-popup .CodeMirror {
|
|
margin: 3px;
|
|
}
|
|
#help-popup .keymap-list input[type="search"] {
|
|
margin: 0 0 2px;
|
|
}
|
|
.keymap-list {
|
|
font-size: 12px;
|
|
padding: 0 3px 0 0;
|
|
border-spacing: 0;
|
|
word-break: break-all;
|
|
}
|
|
.keymap-list input {
|
|
width: 100%;
|
|
}
|
|
.keymap-list tr:nth-child(odd) {
|
|
background-color: rgba(0, 0, 0, 0.07);
|
|
}
|
|
.keymap-list td:first-child {
|
|
white-space: nowrap;
|
|
font-family: monospace;
|
|
padding-right: 0.5rem;
|
|
}
|
|
|
|
#help-popup .buttons {
|
|
text-align: center;
|
|
margin-top: .75em;
|
|
}
|
|
.non-windows #help-popup .buttons {
|
|
direction: rtl;
|
|
text-align: right;
|
|
}
|
|
#help-popup button[name^="import"] {
|
|
line-height: 1.5rem;
|
|
padding: 0 0.5rem;
|
|
margin: 0.5rem 0 0 0.5rem;
|
|
pointer-events: none;
|
|
opacity: 0.5;
|
|
}
|
|
#help-popup.ready button[name^="import"] {
|
|
pointer-events: all;
|
|
opacity: 1.0;
|
|
}
|
|
#help-popup .rules {
|
|
padding: 0 15px;
|
|
}
|
|
#help-popup .rules li {
|
|
padding-top: .5em;
|
|
}
|
|
#help-popup .rules p {
|
|
margin: .25em 0;
|
|
}
|
|
#help-popup .buttons button:nth-child(n + 2) {
|
|
margin-left: .5em;
|
|
}
|
|
|
|
/************ lint ************/
|
|
#lint {
|
|
overflow: hidden;
|
|
margin-left: -1rem;
|
|
margin-right: -1rem;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
flex-grow: 1;
|
|
position: relative;
|
|
}
|
|
#lint > summary {
|
|
position: relative;
|
|
margin-left: 0;
|
|
padding-left: 4px;
|
|
}
|
|
#lint[open]:not(.hidden-unless-compact) {
|
|
min-height: 102px;
|
|
}
|
|
#lint summary h2 {
|
|
text-indent: -2px;
|
|
}
|
|
#lint > .lint-scroll-container {
|
|
margin: 1rem 10px 0;
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
#lint table {
|
|
font-size: 100%;
|
|
border-spacing: 0;
|
|
margin-bottom: 1rem;
|
|
line-height: 1.0;
|
|
width: 100%;
|
|
}
|
|
#lint tr td:last-child {
|
|
width: 100%;
|
|
}
|
|
#lint td[role="line"] {
|
|
padding-left: 0.25rem;
|
|
}
|
|
#lint table:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
#lint table.empty {
|
|
display: none;
|
|
}
|
|
#lint caption {
|
|
text-align: left;
|
|
font-weight: bold;
|
|
padding-bottom: 6px;
|
|
}
|
|
#lint tbody {
|
|
font-size: 85%;
|
|
cursor: pointer;
|
|
}
|
|
#lint tr:hover {
|
|
background-color: hsla(180, 50%, 36%, .2);
|
|
}
|
|
#lint td {
|
|
padding: 0;
|
|
}
|
|
#lint td[role="severity"] {
|
|
font-size: 0;
|
|
width: 16px;
|
|
}
|
|
#lint td[role="line"], #lint td[role="sep"] {
|
|
text-align: right;
|
|
}
|
|
#lint td[role="col"] {
|
|
text-align: left;
|
|
padding-right: 0.25rem;
|
|
}
|
|
#lint td[role="message"] {
|
|
text-align: left;
|
|
white-space: nowrap;
|
|
}
|
|
#message-box.center.lint-config #message-box-contents {
|
|
text-align: left;
|
|
}
|
|
#help-popup .active-linter-rule {
|
|
font-weight: bold;
|
|
text-decoration: underline;
|
|
background-color: rgba(128, 128, 128, .2);
|
|
}
|
|
|
|
/************ CSS beautifier ************/
|
|
.beautify-options {
|
|
white-space: nowrap;
|
|
}
|
|
.beautify-options div {
|
|
float: left;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.beautify-options div[newline="true"] + div {
|
|
clear: left;
|
|
}
|
|
.beautify-options div[newline="true"] + div span[indent] {
|
|
padding-left: 2rem;
|
|
}
|
|
.beautify-options > label {
|
|
top: 1em;
|
|
margin: 1ex 0;
|
|
}
|
|
.beautify-options:after {
|
|
clear: both;
|
|
display: block;
|
|
content: "";
|
|
height: 1rem;
|
|
}
|
|
.beautify-options span {
|
|
font-weight: bold;
|
|
font-family: monospace;
|
|
}
|
|
.beautify-options select {
|
|
border: none;
|
|
background: linear-gradient(90deg, rgba(0, 0, 0, .05) 18px, rgba(0, 0, 0, .02) 24px);
|
|
font-family: monospace;
|
|
font-weight: bold;
|
|
padding-left: 4px;
|
|
margin-left: 4px;
|
|
}
|
|
.beautify-hint {
|
|
width: 0;
|
|
min-width: 100%;
|
|
font-size: 90%;
|
|
}
|
|
|
|
/************ single editor **************/
|
|
.usercss .CodeMirror-focused {
|
|
box-shadow: none;
|
|
}
|
|
|
|
html:not(.usercss) .usercss-only,
|
|
.usercss .sectioned-only {
|
|
display: none !important; /* hide during page init */
|
|
}
|
|
|
|
body:not(.compact-layout) .hidden-unless-compact,
|
|
body.linter-disabled .hidden-unless-compact {
|
|
display: none !important;
|
|
}
|
|
|
|
#options:not([open]) + #lint {
|
|
margin-top: 0;
|
|
}
|
|
|
|
#options-wrapper .options-column:nth-child(2) {
|
|
margin-top: .75rem;
|
|
}
|
|
|
|
.single-editor {
|
|
position: relative;
|
|
height: 100%;
|
|
}
|
|
.single-editor .CodeMirror {
|
|
/* WARNING! If you change this or .single-editor make sure editor opens huge styles like GitHub Dark instantly */
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
height: auto;
|
|
border: none;
|
|
outline: none;
|
|
}
|
|
|
|
#footer a {
|
|
color: #333;
|
|
transition: color .5s;
|
|
}
|
|
|
|
#footer a:hover {
|
|
color: #666;
|
|
}
|
|
|
|
/************ line widget *************/
|
|
.CodeMirror-linewidget .applies-to {
|
|
margin: 1em 0;
|
|
padding: .75rem calc(.25rem + var(--cm-bar-width, 0)) .25rem .75rem;
|
|
}
|
|
|
|
.CodeMirror-linewidget .applies-to li {
|
|
margin: 0;
|
|
}
|
|
|
|
.CodeMirror-linewidget .applies-to li[data-type="regexp"] .test-regexp {
|
|
display: inline;
|
|
}
|
|
|
|
.CodeMirror-linewidget li.applies-to-everything {
|
|
margin-left: 0.2rem;
|
|
}
|
|
|
|
/************ reponsive layouts ************/
|
|
@media(max-width: 850px) {
|
|
body {
|
|
height: auto;
|
|
}
|
|
#header {
|
|
display: contents;
|
|
position: static;
|
|
}
|
|
|
|
#heading,
|
|
h2 {
|
|
display: none;
|
|
}
|
|
|
|
#basic-info {
|
|
margin: .5rem;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
#basic-info > :first-child {
|
|
flex-grow: 1;
|
|
}
|
|
#basic-info > :not(:last-child) {
|
|
margin-right: 0.8rem;
|
|
}
|
|
#basic-info #name {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
#actions {
|
|
margin: .5rem;
|
|
display: flex;
|
|
gap: .5rem;
|
|
align-items: center;
|
|
}
|
|
#actions a,
|
|
#actions div a, /* FIXME: remove a>button */
|
|
#actions button {
|
|
margin: 0;
|
|
}
|
|
#actions > div {
|
|
display: contents;
|
|
}
|
|
|
|
#details-wrapper {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
margin: -0.5rem 0 0;
|
|
padding: .5rem .5rem 0;
|
|
gap: .5rem;
|
|
position: sticky;
|
|
top: 0;
|
|
background: white;
|
|
z-index: 5;
|
|
border-bottom: 1px dashed rgb(170, 170, 170);
|
|
flex-direction: row;
|
|
}
|
|
#details-wrapper > details {
|
|
margin-bottom: .5rem;
|
|
}
|
|
#details-wrapper::after {
|
|
content: "";
|
|
display: block;
|
|
height: 48px;
|
|
position: absolute;
|
|
bottom: -48px;
|
|
left: 0;
|
|
width: 100%;
|
|
box-shadow: 0 3rem 3rem -4.2rem inset;
|
|
pointer-events: none;
|
|
}
|
|
#header details[open] + details[open] {
|
|
margin-top: 0;
|
|
}
|
|
#header details:not(#options) {
|
|
max-width: 50%;
|
|
}
|
|
#header summary {
|
|
margin-left: 0;
|
|
padding-left: 4px;
|
|
}
|
|
#header summary h2 {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
#header summary + * {
|
|
margin-left: 1rem;
|
|
padding: .25rem 0 0;
|
|
}
|
|
|
|
#options-wrapper {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
box-sizing: border-box;
|
|
}
|
|
#options[open] {
|
|
width: 100%;
|
|
}
|
|
.options-column {
|
|
flex-grow: 1;
|
|
padding-right: .5rem;
|
|
box-sizing: border-box;
|
|
}
|
|
.options-column > .usercss-only {
|
|
margin-bottom: 0;
|
|
}
|
|
#options-wrapper .options-column:nth-child(2) {
|
|
margin-top: 0;
|
|
}
|
|
#options:not([open]),
|
|
#lint:not([open]) {
|
|
overflow: initial;
|
|
}
|
|
#options:not([open]) + #lint:not([open]) {
|
|
margin-top: 0;
|
|
}
|
|
.option label {
|
|
margin: 0;
|
|
}
|
|
#options [type="number"] {
|
|
text-align: left; /* workaround the column flow bug in webkit */
|
|
padding-left: 0.2rem;
|
|
}
|
|
#options #tabSize-label {
|
|
position: relative;
|
|
top: 0.2rem;
|
|
}
|
|
|
|
#sections-list[open] {
|
|
max-height: 102px;
|
|
}
|
|
#sections-list[open] #toc {
|
|
max-height: 60px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
#header #lint.hidden {
|
|
display: block!important;
|
|
}
|
|
#header #lint {
|
|
margin: 0;
|
|
min-height: 0;
|
|
}
|
|
#header #lint[open] > :not(summary) {
|
|
display: none;
|
|
}
|
|
#lint > .lint-scroll-container {
|
|
padding-top: 0;
|
|
margin-right: 0;
|
|
}
|
|
#lint:not([open]) + #footer {
|
|
margin: .25em 0 -1em .25em;
|
|
}
|
|
|
|
.main {
|
|
height: auto;
|
|
padding-left: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
}
|
|
|
|
#sections > :not(.single-editor) {
|
|
margin: 0 .5rem;
|
|
padding: .5rem 0;
|
|
}
|
|
.single-editor {
|
|
overflow: hidden;
|
|
flex: 1;
|
|
}
|
|
|
|
.usercss body {
|
|
display: flex;
|
|
height: 100vh;
|
|
flex-direction: column;
|
|
}
|
|
.usercss #header {
|
|
display: block;
|
|
width: auto;
|
|
height: auto;
|
|
padding: 0;
|
|
}
|
|
.usercss #details-wrapper::after {
|
|
display: none;
|
|
}
|
|
.usercss #footer {
|
|
display: none;
|
|
}
|
|
|
|
#help-popup.big[style="display: block;"],
|
|
#help-popup[style="display: block;"] {
|
|
width: max-content;
|
|
height: min-content;
|
|
max-width: 90%;
|
|
max-height: 90vh;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
margin: auto;
|
|
}
|
|
#help-popup[style*="left:"] {
|
|
left: 1rem !important;
|
|
margin-top: -2.35rem;
|
|
}
|
|
#help-popup:not([style*="display: block;"]),
|
|
#help-popup .CodeMirror-lint-markers,
|
|
#help-popup .CodeMirror-guttermarker-subtle {
|
|
display: none !important;
|
|
}
|
|
#help-popup .CodeMirror-linenumber {
|
|
padding: 0;
|
|
}
|
|
}
|