metasearch/src/web/assets/style.css
2024-01-14 19:08:01 -06:00

274 lines
4.4 KiB
CSS

html {
height: 100%;
}
body {
font-family: monospace;
background-color: #0b0e14;
color: #bfbdb6;
margin: 0;
line-height: 1.2;
height: 100%;
}
.results-container {
/* enough space for the infobox */
max-width: 73.5rem;
margin: 0 auto;
}
main {
max-width: 40rem;
/* margin: 0 0 0 10rem; */
padding: 1rem 0.5rem;
background-color: #0d1017;
min-height: 100%;
}
@media screen and (max-width: 74rem) {
/* small screens */
.results-container {
margin: 0 auto;
max-width: 40rem;
}
}
input {
font-family: monospace;
background-color: #0d1017;
color: #bfbdb6;
border: 1px solid #234;
font-size: inherit;
padding: 0.25rem;
}
input:focus-visible {
outline: none;
border-color: #e6b450;
}
:focus-visible {
outline: 1px solid #e6b450;
}
input[type="submit"] {
cursor: pointer;
}
a {
color: #29e;
text-decoration: none;
}
a:visited {
color: #92e;
}
pre {
white-space: pre-wrap;
}
blockquote {
margin: 0;
padding-left: 0.5em;
border-left: 0.25em solid #234;
}
/* index page */
.main-container {
display: flex;
flex-direction: column;
min-height: 100%;
height: 100%;
justify-content: center;
margin: 0 auto;
padding: 0 0.5em;
text-align: center;
max-width: 30em;
}
h1 {
margin-top: 0;
}
/* header */
.search-form {
margin-bottom: 1rem;
display: flex;
gap: 0.5rem;
}
#search-input {
max-width: 30em;
flex: 1;
}
#search-input-suggestions {
position: absolute;
text-align: left;
margin-top: calc(1.9em + 1px);
background: #0f131a;
padding: 0.1em 0 0.3em 0;
border: 1px solid #234;
border-top: transparent;
z-index: 10;
}
.search-input-suggestion {
cursor: pointer;
padding: 0.3em 0.3em;
white-space: nowrap;
}
.search-input-suggestion.focused,
.search-input-suggestion:hover {
background: #234;
}
/* search result */
.search-result {
padding-top: 1rem;
border-top: 1px solid #234;
font-size: 1rem;
}
.search-result-anchor {
display: block;
word-break: break-all;
}
.search-result-url {
margin: 0;
font-size: 0.8rem;
color: #998;
}
.search-result-title {
margin: 0;
font-size: 1rem;
}
.search-result-description {
margin: 0;
font-size: 0.8em;
color: #bba;
}
/* engine list */
.engine-list {
opacity: 0.5;
justify-content: end;
display: flex;
gap: 0.5em;
font-size: 0.8rem;
}
/* featured snippet */
.featured-snippet {
margin-bottom: 1rem;
border: 1px solid #234;
padding: 0.5rem;
font-size: 1.2rem;
}
.featured-snippet .search-result-description {
margin-bottom: 1rem;
}
/* progress update */
.progress-updates {
margin-bottom: 1rem;
border: 1px solid #234;
padding: 0.5rem;
min-height: 5em;
}
.progress-update {
margin: 0;
white-space: pre-wrap;
}
.progress-update-time {
opacity: 0.5;
}
.progress-update-done {
color: #7fd962;
font-weight: bold;
}
/* answer */
.answer {
margin-bottom: 1rem;
border: 1px solid #234;
padding: 0.5rem;
word-break: break-word;
}
.answer h3 {
margin: 0;
font-weight: normal;
font-size: 1.2rem;
}
/* styles that are somewhat answer-specific but get reused across other styles sometimes */
.answer-query {
margin: 0;
opacity: 0.5;
}
.answer-comment {
color: #acb6bf8c;
font-weight: normal;
}
/* styles for specific answers */
.answer-calc-constant {
color: #d2a6ff;
white-space: pre-wrap;
}
.answer-calc-string {
color: #aad94c;
}
.answer-calc-special {
color: #e6b673;
}
.answer-dictionary-word {
margin-top: 0;
}
.answer-dictionary-part-of-speech {
font-style: italic;
opacity: 0.8;
}
.answer-dictionary-example {
margin-bottom: 0.5em;
}
/* infobox */
.infobox {
margin-bottom: 1rem;
border: 1px solid #234;
padding: 0.5rem;
position: absolute;
top: 3.5rem;
max-width: 30rem;
margin-left: 42rem;
}
@media screen and (max-width: 74rem) {
/* small screens */
.infobox {
position: static;
margin: 0;
max-width: unset;
margin-bottom: 1rem;
}
.postsearch-infobox {
/* displaying these properly is too hard so don't */
display: none;
}
}
.infobox h2 {
margin-top: 0;
margin-bottom: 0.5em;
}
.infobox p {
margin: 0;
}
.infobox pre {
border: 1px solid #234;
padding: 0.5rem;
display: block;
}
.infobox pre > code {
font-weight: normal;
}
.infobox code {
font-weight: bold;
}
.infobox img {
max-width: 100%;
}
.infobox-docs_rs-version {
opacity: 0.5;
font-weight: normal;
font-size: 0.8em;
}
.postsearch-infobox p {
margin-bottom: 1em;
}