/*
* Framework
*/
html {
box-sizing: border-box;
// Not ideal but it works
scroll-padding-top: 6rem;
}
html,
body {
min-height: 100vh;
padding: 0;
margin: 0;
color: var( --color-base );
accent-color: var( --color-primary );
background: var( --color-surface-0 );
}
// Apply border-box universally unless overwritten
*,
*::before,
*::after {
box-sizing: inherit;
}
:focus {
outline-color: var( --color-primary );
}
// For some reason just overriding the outline-color is not enough
:focus-visible {
outline: 2px solid var( --color-primary );
outline-offset: 1px;
}
input,
select,
textarea {
color: var( --color-base--emphasized );
background-color: transparent;
border: 1px solid var( --border-color-interactive );
}
select option {
background-color: var( --color-surface-1 );
}
textarea {
width: 100%;
}
blockquote {
margin: var( --space-md );
color: var( --color-base--subtle );
cite {
display: block;
margin-top: var( --space-sm );
&::before {
content: '— ';
}
}
}
button {
font-family: var( --font-family-base );
}
sup,
sub {
line-height: 1;
}
th {
font-weight: var( --font-weight-semibold );
}
td {
> p,
> ul,
> ol {
&:first-child {
margin-top: 0; // Remove margin for the first element in td
}
}
}
.nowrap {
white-space: nowrap;
}
.citizen-button {
padding: 0;
appearance: none;
cursor: pointer;
background: transparent;
border: 0;
}
/*
* Content
*/
.mw-body,
.parsoid-body {
direction: ltr;
}
// TODO: Think of better places to put indicators;
.mw-indicators {
display: flex;
align-items: center;
padding-left: 10px;
margin-left: 10px;
font-size: var( --font-size-small );
border-left: 1px solid var( --border-color-base );
}
.mw-indicator {
filter: var( --filter-invert );
}
video {
max-width: 100%; // Prevent overflow
}
.skin-citizen-dark {
color-scheme: dark;
.mw-indicator {
// Have to hardcode the color since the filter breaks the color
a {
color: @color-primary;
&:hover {
color: @color-primary--hover;
}
&:active {
color: @color-primary--active;
}
}
}
}
@media ( hover: none ) {
a,
button,
label {
// Remove the 300ms delay in click event (T118509)
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
touch-action: manipulation;
}
}
@media ( max-width: @max-width-breakpoint-tablet ) {
.mw-body,
.parsoid-body {
overflow-x: hidden; // fallback if clip is not supported
overflow-x: clip; // avoid breaking layout in smaller screen sizes
}
}
@media ( min-width: @min-width-breakpoint-tablet ) {
// Delay scroll animation won't happen on load
// Use it only for larger viewport as it is very costly
// on mobile devices
html.citizen-animations-ready {
scroll-behavior: smooth;
}
}