/* * Copyright (C) 2024 dwlr * * BSD 3-Clause License (BSD-3-Clause) * See LICENSE for details */ :root { /* general */ --bg: #FFFFFF; --bg-dark: #F2F2F2; --fg: #202124; --fg-mid: #5F6368; --fg-light: #70757A; --border: #DADCE0; /* query input */ --qbg: white; --qborder: var(--border); --qshadow: transparent; --qbgh: white; --qborderh: var(--border); --qshadowh: var(--qborder); /* buttons */ --btn-bg: #F8F9FA; --btn-fg: var(--fg); --btn-shad: transparent; --btn-brd: transparent; --btn-bgh: var(--btn-bg); --btn-fgh: var(--btn-fg); --btn-shadh: var(--border); --btn-brdh: var(--border); --btn-bgf: var(--btn-bg); --btn-fgf: var(--btn-fg); --btn-shadf: var(--border); --btn-brdf: #4285F4; /* accent buttons */ --abtn-bg: #1A73E8; --abtn-fg: #FFFFFF; --abtn-brd: transparent; --abtn-shad: #424043; --abtn-bgh: #1B66C9; --abtn-fgh: var(--abtn-fg); --abtn-brdh: transparent; --abtn-shadh: #424043; --abtn-bgf: #1C5FBA; --abtn-fgf: var(--abtn-fg); --abtn-brdf: transparent; --abtn-shadf: var(--abtn-shadh); /* links */ --a-unvis: #2317AE; --a-vis: #681DA8; /* misc */ --logo-a: #4284F4; --logo-b: #EA4335; --logo-c: #FBBC05; --logo-d: #34A853; } /* TODO: credit fonts */ @font-face { font-family: fn-logo; src: url("/fonts/handil-pro.medium.otf"); } @font-face { font-family: fn-code-logo; src: url("/fonts/FiraCode-SemiBold.ttf"); } html { background-color: var(--bg); color: var(--fg); font-family: arial, sans-serif; font-size: small; height: 100dvh; } body { height: 100dvh; } #js_tmp { position: fixed; top: 0; left: 0; z-index: -1; height: auto; width: auto; visibility: hidden; white-space: nowrap; } a { cursor: pointer; color: var(--a-unvis); text-decoration: none; } a:visited { color: var(--a-vis); text-decoration: none; } a:hover { text-decoration: underline; } #main { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100dvh; } #main > header { display: flex; flex-direction: row; align-items: baseline; justify-content: flex-end; flex-grow: 0.75; width: 100%; box-sizing: border-box; padding: 0 1rem; } #topnav { display: flex; flex-direction: row; align-items: baseline; } #topnav_icon { display: inline-block; width: 12pt; height: 12pt; margin: 0 1rem; padding: 0; background: no-repeat url("/imgs/menu.svg"); background-size: contain; } #topnav > a { display: inline-block; height: 3rem; margin: 1rem 0.5rem; border: 1px solid var(--btn-brd); border-radius: 0.35rem; font-size: small; text-align: center; line-height: 2.5rem; color: var(--fg); } #logo { max-width: 85vw; text-align: center; word-spacing: -0.5rem; font-family: fn-logo, sans; font-size: 16pt; } #logo > h1 { display: inline-block; margin-bottom: 0; font-size: 32pt; } #logo-let { color: var(--logo-a); font-size: 46pt; } #logo-me { color: var(--logo-b); } #logo-man { color: var(--logo-c); font-family: fn-code-logo, monospace; font-size: 30pt; } #logo-that { color: var(--logo-a); } #logo-for { color: var(--logo-d); font-size: 38pt; } #logo-you { color: var(--logo-b); display: inline-block; transform: rotate(-2.5deg); } @keyframes logo-ver_scale { 0%, 100% { font-size: 18pt; transform: rotate(-10deg); } 50% { font-size: 21pt; transform: rotate(10deg); } } #logo-ver_wrap { display: block; min-height: 30pt; } #logo-ver { display: block; float: right; margin: 0; padding: 0 10pt; color: var(--fg); animation: logo-ver_scale 3.5s ease infinite; } #search_pane { flex-grow: 1; } form { display: flex; flex-direction: column; align-items: center; justify-content: space-between; } button, input { all: unset; } button:focus, input:focus { outline: 1px auto; } /* NOTE: if you wanna change the height of the wrap, it's actually the #qfill height */ #query_wrap { z-index: 2; display: flex; flex-direction: row; justify-content: flex-start; align-items: center; font-size: large; width: min(42rem, 90vw); max-height: 3em; padding: 0; margin: 1rem; background-color: var(--qbg); border: 1px solid var(--qborder); border-radius: 10rem; box-shadow: 0.5pt 0.75pt 0.5rem var(--qshadow); overflow: hidden; } #qfill { z-index: 1; flex-grow: 0; flex-shrink: 0; align-self: flex-end; height: 5rem; width: 2rem; background-color: var(--qbg); } #query_wrap:hover > #qfill { background-color: var(--qbgh); } #query_wrap:hover { background-color: var(--qbgh); border: 1px solid var(--qborderh); box-shadow: 0.5pt 0.75pt 0.5rem var(--qshadowh); } #query { width: 100%; } #query:focus { outline: none; /* border-bottom: 1px solid var(--border);*/ /* useful but not goog-like, coz flat sucks */ } #query_icon { background: no-repeat url("/imgs/search.svg"); background-size: contain; background-position: center; margin-right: 1rem; margin-left: 1.5rem; flex-shrink: 0; width: 14pt; height: 14pt; } #query_opts_toggle { display: none; } #query_opts { display: flex; flex-direction: row; justify-content: flex-start; align-items: center; } .query_opt { flex-shrink: 0; user-select: none; width: 20pt; color: var(--fg-light); } #sect, #arch { flex-grow: 0; height: 2.6em; margin-right: 6pt; background-color: transparent; color: var(--fg-mid); border: none; cursor: pointer; user-select: none; } @supports (-webkit-touch-callout: none) { #sect, #arch { border-bottom: 2px solid var(--border); } } button, input[type=submit] { z-index: 1; color: var(--btn-fg); background-color: var(--btn-bg); height: 3rem; min-width: 6rem; margin: 1rem 0.5rem; padding: 0 0.5rem; border: 1px solid var(--btn-brd); border-radius: 0.35rem; font-size: small; text-align: center; cursor: pointer; user-select: none; } button:hover, input[type=submit]:hover { color: var(--btn-fgh); background-color: var(--btn-bgh); border: 1px solid var(--btn-brdh); box-shadow: 0 0.45pt 0.15rem var(--btn-shadh); } button:focus, input[type=submit]:focus { color: var(--btn-fgf); background-color: var(--btn-bgf); border: 1px solid var(--btn-brdf); } .btn-acc { color: var(--abtn-fg); background-color: var(--abtn-bg); border: 1px solid var(--abtn-brd); } .btn-acc:hover { color: var(--abtn-fgh); background-color: var(--abtn-bgh); border: 1px solid var(--abtn-brdh); box-shadow: 0 0.45pt 0.15rem var(--abtn-shadh); } .btn-acc:focus { color: var(--abtn-fgf); background-color: var(--abtn-bgf); border: 1px solid var(--abtn-brdf); } .btn-def { display: none; width: 0 !important; height: 0 !important; padding: 0 !important; border: 0 !important; margin: 0 !important; } .hint { color: var(--fg-light); } .center { text-align: center; } footer, #about_pane { width: 100%; background-color: var(--bg-dark); border-bottom: 1px solid var(--border); } #about_pane { display: flex; flex-direction: row; justify-content: space-evenly; } #about_pane > section { display: flex; flex-direction: row; align-items: center; justify-content: space-evenly; } #about_pane > section > a { display: inline-block; margin: 1rem 1rem; color: var(--fg); } .copyleft { display: inline-block; transform: rotate(180deg); } @media (max-width: 800px) { #query_opts_toggle { display: inline; flex-shrink: 0; width: 2em; height: 3em; background: no-repeat url("/imgs/chevron.svg"); background-size: 1em; background-position: center; } #query_opts_toggle:checked { transform: rotate(180deg); } #query_opts_toggle ~ div { max-width: 0; z-index: 0; transition: max-width 500ms linear; } #query_opts_toggle:checked ~ div { max-width: 75%; } } @media (prefers-color-scheme: dark) { :root { /* general */ --bg: #202124; --bg-dark: #171717; --fg: #E8EAED; --fg-mid: #BDC1C6; --fg-light: #BDC1C6; --border: #3C4043; /* query input */ --qbg: var(--bg); --qborder: #5F6368; --qbgh: #303134; --qborderh: transparent; --qshadowh: #171717; /* buttons */ --btn-bg: #303134; --btn-fg: var(--fg); --btn-shad: transparent; --btn-brd: transparent; --btn-bgh: var(--btn-bg); --btn-fgh: var(--btn-fg); --btn-shadh: transparent; --btn-brdh: #5F6368; --btn-bgf: var(--btn-bg); --btn-fgf: var(--btn-fg); --btn-shadf: transparent; --btn-brdf: var(--btn-brdh); /* accent buttons */ --abtn-bg: #8AB4F8; --abtn-fg: #202124; --abtn-brd: transparent; --abtn-shad: transparent; --abtn-bgh: #93BAF9; --abtn-fgh: var(--abtn-fg); --abtn-brdh: transparent; --abtn-shadh: transparent; --abtn-bgf: #A6C6FA; --abtn-fgf: var(--abtn-fg); --abtn-brdf: transparent; --abtn-shadf: transparent; /* links */ --a-unvis: #8AB4F8; --a-vis: #C58AF9; /* misc */ --logo-a: #FFFFFF; --logo-b: #FFFFFF; --logo-c: #FFFFFF; --logo-d: #FFFFFF; } }