:root { --light-fg-color: black; --light-bg-color: white; --light-outer-shadow-color: #BBBBBB; --light-outer-bg-color: #E4E4E4; --light-alt-bg-color: #FFFFD0; --light-field-hover-bg-color: #F0F0F0; --light-field-active-bg-color: #E0E0E0; --light-link-idle-color: blue; --dark-fg-color: white; --dark-bg-color: #202020; --dark-outer-shadow-color: #000000; --dark-outer-bg-color: black; --dark-alt-bg-color: #101010; --dark-field-hover-bg-color: #000000; --dark-field-active-bg-color: #404040; --dark-link-idle-color: lightblue; } :root { color-scheme: light dark; --nav-fg-color: white; --nav-bg-color: darkred; --nav-bg-color-selected: #C00000; --sep-color: gray; } /* Vím, že by se dalo použít light-dark(...). Ale to funguje jen v nejnovějších prohlížečích. */ @media (prefers-color-scheme: light) { :root { --fg-color: var(--light-fg-color); --bg-color: var(--light-bg-color); --outer-shadow-color: var(--light-outer-shadow-color); --outer-bg-color: var(--light-outer-bg-color); --alt-bg-color: var(--light-alt-bg-color); --field-hover-bg-color: var(--light-field-hover-bg-color); --field-active-bg-color: var(--light-field-active-bg-color); --link-idle-color: var(--light-link-idle-color); --theme-switch-icon: var(--light-theme-switch-icon); --narrow-layout-switch-icon: var(--light-narrow-layout-switch-icon); --wide-layout-switch-icon: var(--light-wide-layout-switch-icon); --fg-gnu-head: var(--dark-gnu-head); --bg-gnu-head: var(--light-gnu-head); } [data-color-scheme="invert"] { --fg-color: var(--dark-fg-color); --bg-color: var(--dark-bg-color); --outer-shadow-color: var(--dark-outer-shadow-color); --outer-bg-color: var(--dark-outer-bg-color); --alt-bg-color: var(--dark-alt-bg-color); --field-hover-bg-color: var(--dark-field-hover-bg-color); --field-active-bg-color: var(--dark-field-active-bg-color); --link-idle-color: var(--dark-link-idle-color); --theme-switch-icon: var(--dark-theme-switch-icon); --narrow-layout-switch-icon: var(--dark-narrow-layout-switch-icon); --wide-layout-switch-icon: var(--dark-wide-layout-switch-icon); --fg-gnu-head: var(--light-gnu-head); --bg-gnu-head: var(--dark-gnu-head); } } @media (prefers-color-scheme: dark) { :root { --fg-color: var(--dark-fg-color); --bg-color: var(--dark-bg-color); --outer-shadow-color: var(--dark-outer-shadow-color); --outer-bg-color: var(--dark-outer-bg-color); --alt-bg-color: var(--dark-alt-bg-color); --field-hover-bg-color: var(--dark-field-hover-bg-color); --field-active-bg-color: var(--dark-field-active-bg-color); --link-idle-color: var(--dark-link-idle-color); --theme-switch-icon: var(--dark-theme-switch-icon); --narrow-layout-switch-icon: var(--dark-narrow-layout-switch-icon); --wide-layout-switch-icon: var(--dark-wide-layout-switch-icon); --fg-gnu-head: var(--light-gnu-head); --bg-gnu-head: var(--dark-gnu-head); } [data-color-scheme="invert"] { --fg-color: var(--light-fg-color); --bg-color: var(--light-bg-color); --outer-shadow-color: var(--light-outer-shadow-color); --outer-bg-color: var(--light-outer-bg-color); --alt-bg-color: var(--light-alt-bg-color); --field-hover-bg-color: var(--light-field-hover-bg-color); --field-active-bg-color: var(--light-field-active-bg-color); --link-idle-color: var(--light-link-idle-color); --theme-switch-icon: var(--light-theme-switch-icon); --narrow-layout-switch-icon: var(--light-narrow-layout-switch-icon); --wide-layout-switch-icon: var(--light-wide-layout-switch-icon); --fg-gnu-head: var(--dark-gnu-head); --bg-gnu-head: var(--light-gnu-head); } } :root { --layout-switch-icon: var(--narrow-layout-switch-icon); } [data-layout="wide"] { --layout-switch-icon: var(--wide-layout-switch-icon) } html { margin: 0; background-color: var(--outer-bg-color); min-height: calc(100% - 32px); } body { font-family: "Noto Sans", sans-serif; /* Svobodný font. */ font-size: 16px; display: flex; flex-direction: column; color: var(--fg-color); background-color: var(--bg-color); } header { padding: calc(16px - 8px) 16px; position: relative; background-color: var(--bg-color); } .light-dark-switch { position: absolute; top: 16px; right: 16px; cursor: pointer; content: var(--theme-switch-icon); width: 20px; } .layout-switch { position: absolute; top: 48px; right: 16px; cursor: pointer; content: var(--layout-switch-icon); width: 20px; } a { color: var(--link-idle-color); } header * { margin: 8px 0; } .header-title { font-size: 32px; } .header-subtitle { font-size: 24px; } .full-width { width: 100%; } .img-text-container { position: relative; } .img-text { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; opacity: 100%; color: var(--fg-color); z-index: 1; pointer-events: none; } .countdown { font-family: monospace; font-weight: bold; font-size: 48px; text-align: center; } .countdown-bg { opacity: 40%; z-index: 0; } nav { background-color: var(--nav-bg-color); color: var(--nav-fg-color); user-select: none; } main { flex-grow: 1; padding: 16px; } .gnu-head { content: var(--fg-gnu-head); } footer { border-top: 2px solid var(--sep-color); padding: calc(16px - 8px) 16px; text-align: center; } footer>* { margin: 8px 0; } h1 { font-size: 32px; } h2 { font-size: 26px; } h3 { font-size: 20px; } table { border-spacing: 0; border: 1px solid var(--sep-color); } th, td { background-color: var(--alt-bg-color); border: 1px solid var(--sep-color); padding: 4px; } ul li { margin: 8px 0; } ol li { margin: 8px 0; } @media (width >= 500px) { figure.aside { width: 200px; margin: 0 0 16px 16px; float: right; } /* Jinak to neudělá nic. */ } figure img,svg,inserted-svg { width: 100%; height: auto; } figcaption { font-style: italic; } nav ul { width: 100%; height: 100%; display: flex; flex-direction: row; margin: 0; padding: 0; list-style-type: none; } @media (width < 750px) { nav ul { flex-direction: column; } } nav ul li { flex-grow: 1; flex-basis: 0; display: flex; margin: 0; } nav ul li a { display: flex; flex-direction: column; justify-content: center; flex-grow: 1; padding: 8px 16px; text-align: center; text-decoration: none; color: var(--nav-fg-color); transition: background-color .3s; } nav ul li a:hover { background-color: var(--nav-bg-color-selected); color: var(--nav-fg-color); } nav ul li a:active { color: var(--nav-fg-color); } nav ul li a:visited { color: var(--nav-fg-color); } @media (width >= 900px) { html:not([data-layout="wide"]) { padding: 16px 0; } :not([data-layout="wide"]) body { margin: 0 auto; max-width: 800px; box-shadow: 0 0 5px 5px var(--outer-shadow-color); } [data-layout="wide"] body { margin: 0; } } @media (width < 900px) { body { margin: 0; } .img-text { position: relative; margin-bottom: 32px; } .layout-switch { display: none; } } @media print { .light-dark-switch { display: none; } .layout-switch { display: none; } nav { display: none; } }