@charset "UTF-8"; :root { --primary-color: #000; --primary-background: #ddd; --header-background: #246; --header-color: #ccc; --primary-color: #000; --accent-color: #f80; --transition-time: 0.2s; /* The following are overridden by responsive layouts */ --root-font-size: 1rem; --header-font-size: 1rem; --header-height: calc(8 * var(--header-font-size)); } @media (prefers-color-scheme: dark) { :root { --primary-color: #ddd; --primary-background: #003; --header-background: #000; --header-color: #ccc; } } @media screen and (max-width: 600px) { .size, .modified { display: none; } } @media screen and (orientation: landscape) and (min-width: 800px) { /* Breadcrumbs and buttons side by side */ header { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: end; } .breadcrumb { font-size: 1.7em; flex-shrink: 10; } } @media screen and (min-width: 800px) and (--webkit-min-device-pixel-ratio: 2) { :root { --root-font-size: calc(16 * 100vw / 800); } header .buttons:has(input[type='search']) > div { display: none; } header .buttons > div:has(input[type='search']) { display: inherit; } } @media screen and (min-width: 1600px) and (--webkit-min-device-pixel-ratio: 3) { :root { --root-font-size: 2rem; } } @media screen and (max-height: 600px) { :root { --header-font-size: calc(16 * 100vh / 600); /* 16px (1rem nominal) at 600px height */ } } @media screen and (max-height: 300px) { :root { --header-font-size: 0.5rem; /* Don't go smaller than this, no benefit */ --header-height: calc(1.75 * 16px); } } @media print { :root { --primary-color: black; --primary-background: none; --header-background: none; --header-color: black; } nav, .menu, .rename-button { display: none; } .breadcrumb > a { color: black !important; background: none !important; padding: 0 !important; margin: 0 !important; clip-path: none !important; max-width: none !important; } .breadcrumb > a::after { content: '/'; } .breadcrumb svg { fill: black !important; } main { height: auto !important; padding-bottom: 0 !important; } thead tr { position: static !important; background: none !important; border-bottom: 1pt solid black !important; } .selection { min-width: 0 !important; padding: 0 !important; } .selection input { display: none; } .selection input:checked { display: inherit; } tbody .selection input:checked { opacity: 1 !important; transform: scale(0.5); left: 0; } } html { overflow: hidden; } /* Hide scrollbar for all browsers */ main::-webkit-scrollbar { display: none; } main { -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ } body { background-color: var(--primary-background); font-size: 1rem; font-family: 'Roboto'; color: var(--primary-color); margin: 0; } tbody .size, tbody .modified { font-family: 'Roboto Mono'; } header { background-color: var(--header-background); color: var(--header-color); font-size: var(--header-font-size); } main { height: 100%; } ::selection { color: #000; background: yellow !important; } button { font: inherit; color: inherit; margin: 0; border: 0; padding: 0; background: none; cursor: pointer; min-width: 1rem; min-height: 1rem; } input { margin: 0; } :focus { outline: none; } a:link, a:visited, a:active, a:hover { color: var(--primary-color); text-decoration: none; } table { border-collapse: collapse; border-spacing: 0; border: 0; gap: 0; } #app { height: 100%; display: flex; flex-direction: column; } nav { /* Position so that tooltips can appear on top of other positioned elements */ position: relative; z-index: 10; } main { height: calc(100svh - var(--header-height)); padding-bottom: 3em; /* convenience space on the bottom */ overflow-y: scroll; } [data-tooltip]:hover:after { z-index: 1000; content: attr(data-tooltip); position: absolute; font-size: 1rem; text-align: center; padding: .5rem 1rem; border-radius: 3rem 0 3rem 0; box-shadow: 0 0 1rem var(--accent-color); transform: translate(calc(1rem + -50%), 100%); background-color: var(--accent-color); color: var(--primary-color); white-space: pre; animation: appearbriefly calc(10 * var(--transition-time)) linear forwards; } .modified [data-tooltip]:hover:after { transform: translate(calc(1rem + 1ex + -100%), calc(-1.5rem + 100%)); } @keyframes appearbriefly { from { opacity: 0; } 30% { opacity: 0; } 40% { opacity: 1; } 90% { opacity: 1; } to { opacity: 0; } }