/* * Framework */ html { scroll-padding-top: ~'calc( var( --height-header ) + 20px )'; // fixed header offset, supported by major browsers } html, body { min-height: 100%; padding: 0; margin: 0; accent-color: var( --color-primary ); background: var( --color-surface-0 ); color: var( --color-base ); } :focus { outline-color: var( --color-primary ); } h1, h2, h3, h4, h5, h6 { color: var( --color-base--emphasized ); } table { overflow: auto; max-width: 100vw; } hr { border: 0; border-top: 1px solid var( --border-color-base--darker ); } ul, ol { padding: 0; } p, ul, ol, dl { margin: @content-margin-top 0 0 0; } pre, code, .mw-code { border: 1px solid var( --border-color-base ); background-color: var( --color-surface-2 ); } code { padding: 1px 4px; } pre, .mw-code { padding: 1rem; border-radius: var( --border-radius--large ); /* Wrap lines in overflow. T2260, T103780 */ white-space: pre-wrap; word-break: break-word; } input, select, textarea { border: 1px solid var( --border-color-base ); background-color: var( --color-surface-1 ); color: inherit; } fieldset { padding: @content-margin-top / 2 20px; border: 1px solid var( --border-color-base ); margin: @content-margin-top 0; } fieldset > table { margin-top: 0 !important; } legend { padding: 4px; margin: 0; color: var( --color-base--subtle ); } textarea { width: 100%; } blockquote { margin: @content-margin-top var( --padding-page ); color: var( --color-base--subtle ); cite { display: block; margin-top: @content-margin-top * @content-scaling; &:before { content: '— '; } } } sup, sub { line-height: 1; } dd { margin-bottom: 0.1rem; margin-left: @content-margin-top * 2; } td { > p, > ul, > ol { &:first-child { margin-top: 0; // Remove margin for the first element in td } } } a { color: var( --color-link ); text-decoration: none; &:not( [ href ] ) { cursor: pointer; /* Always cursor:pointer even without href */ } &:hover { color: var( --color-link--hover ); } &:active { color: var( --color-link--active ); } &.new { color: var( --color-link-new ); // Override visited &:hover { color: var( --color-link-new--hover ); } &:active { color: var( --color-link-new--active ); } } &.mw-selflink { color: inherit; font-weight: bold; text-decoration: inherit; &:hover { cursor: inherit; text-decoration: inherit; } &:active { color: inherit; } } } .error { padding: 2px 4px; background-color: var( --background-color-destructive ); } .nowrap { white-space: nowrap; } /* * Content */ .mw-body, .parsoid-body { direction: ltr; } // TODO: Think of better places to put indicators; .mw-indicators { padding-left: 10px; border-left: 1px solid var( --border-color-base ); margin-left: 10px; font-size: @ui-menu-text; } .printfooter { display: none; } div.patrollink { font-size: 75%; text-align: right; } video { max-width: 100%; // Prevent overflow } .skin-citizen-dark { color-scheme: dark; .mw-editsection > a:before { filter: invert( 1 ); } .mw-indicator { filter: invert( 1 ) hue-rotate( 180deg ); // 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 ( max-width: @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 } table { display: block; } } @media ( min-width: @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; } }