/* ibm-plex-mono-regular - latin */ @font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; src: url('/assets/fonts/ibm-plex-mono-v19-latin-regular.woff2') format('woff2'); } /* ibm-plex-mono-italic - latin */ @font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 400; src: url('/assets/fonts/ibm-plex-mono-v19-latin-italic.woff2') format('woff2'); } /* ibm-plex-mono-500 - latin */ @font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; src: url('/assets/fonts/ibm-plex-mono-v19-latin-500.woff2') format('woff2'); } /* ibm-plex-mono-500italic - latin */ @font-face { font-display: swap; font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 500; src: url('/assets/fonts/ibm-plex-mono-v19-latin-500italic.woff2') format('woff2'); } @media (max-width: 1200px) { html { font-size: 16px; } } @media (max-width: 790px) { html { font-size: 14px; } } @media (max-width: 700px) { html { font-size: 12px; } } /* Rules for thy Sanity h1 = title h3 = paragraph h5 = caption paragraph = text 3rem vertical space between standard boxes (split into 1.5rem top and bottom) */ /* The container query length units are: cqw: 1% of a query container's width cqh: 1% of a query container's height cqi: 1% of a query container's inline size cqb: 1% of a query container's block size cqmin: The smaller value of either cqi or cqb cqmax: The larger value of either cqi or cqb */ html { background-color: #000000; background-image: url('/assets/bg2.png'); background-repeat: repeat; background-size: 1.6rem; image-rendering: pixelated; image-rendering: crisp-edges; image-rendering: -moz-crisp-edges; image-rendering: -webkit-optimize-contrast; background-color: transparent; margin: 0px; border: 0px; padding: 0px; min-height: 100vh; font-family: "IBM Plex Mono", monospace; font-style: normal; color: #E9E9E9; font-weight: 400; } body { margin: 0px; border: 0px; padding: 0px; min-height: 100vh; } ul { list-style-type: none; margin: 0; padding-left: 0; } li { margin: 0.75rem; } ul li::before { content: "* "; } #main-links ul { margin-bottom: 4rem; } #links-tree ul li:first-child::before { content: "↑ "; /* arrow for "Top" button */ } a { color: #E9E9E9; text-decoration: underline; position: relative; } h1 { font-weight: 500; font-size: 4rem; letter-spacing: 0.2rem; margin: 0; padding: 0; } h3 { font-weight: 500; font-size: 2.4rem; margin: 0; padding: 0; padding-bottom: 0.2rem; text-align: left; } h4 { font-weight: 400; font-size: 1.8rem; margin: 0; padding: 0; text-align: left; } h5 { font-size: 1.2rem; font-style: italic; font-weight: 500; margin: 0; padding: 0; padding-bottom: 1.2rem; } h6 { font-weight: 500; font-style: italic; font-size: 1rem; margin: 0; padding: 0; color: #e9e9e9a2; } p, pre { font-size: 1.2rem; margin: 0; padding: 0; } button { color: #E9E9E9; } .container { display: flex; justify-content: center; align-items: flex-start; gap: 10px; } .container-main { width: min(900px,92vw); min-height: 85vh; } .sidebar { max-width: 250px; overflow: hidden; text-wrap: wrap; /* set explicitly */ flex-shrink: 0; flex: 1; margin-left: 0.75rem; margin-right: 0.75rem; } .link { color: #E9E9E9; text-decoration: none; position: relative; } .link::after { content: ''; position: absolute; width: 0; height: 0.1rem; display: block; left: 0; background: #E9E9E9; transition: width 0.3s ease, left 0.3s ease; } .link:hover::after { width: 100%; left: 0; } .box { background: #000; border: 1px solid #E9E9E9; margin-top: 1.5rem; margin-bottom: 1.5rem; padding: 1rem; align-self: center; justify-self: center; max-height: 100%; width: 100%; /* Ensure the box takes up the full width of its container */ display: block; /* Ensure the box behaves as a block-level element */ box-sizing: border-box; /* Include padding and border in the element's total width */ } .button { background: #000; border: 1px solid #E9E9E9; margin-top: 1.5rem; margin-bottom: 1.5rem; padding: 1rem; align-self: center; justify-self: center; max-height: 100%; cursor: pointer; display: inline-block; text-align: center; text-decoration: none; color: inherit; font: inherit; } .button:active { background: #333333; /* Lighter grey color */ } .box:last-child { margin-bottom: 3rem; } #maintitlebox { margin-top: 1rem; margin-bottom: 0; position: relative; /* for oneko-button "inside" */ } #titleandcat { display: flex; align-items: center; justify-content: center; padding-left: 0; padding-right: 0; margin-bottom: 0; } #maintitle { font-size: 3.5rem; text-align: center; } #sapari-dance { height: 5rem; min-height: 3rem; margin-left: 0.5rem; margin-right: 0.5rem; } #oneko-button { position: absolute; top: -1.5rem; /* adjust for margin */ right: 0; padding: 0.65rem; } #subtitlebox { display: flex; justify-content: stretch; align-items: stretch; height: 4rem; margin: 0; padding: 0; } #links { padding: 0; margin: 0; height: 100%; flex: 1 1 auto; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; flex: 3; } .linkbox { margin-left: 0.4rem; margin-right: 0.4rem; background: #000; padding: 0.5rem; } #heartbeatbox { margin: 0; padding: 0; height: 100%; display: flex; justify-content: center; align-items: center; flex: 1 } #heartbeat-time { font-size: 1.2rem; } #external-links { padding-top: 0.5rem; } #directory-box { margin-top: 0.5rem; margin-bottom: 1.5rem; } #directory-icon { height: 1.5rem; vertical-align: middle; } #header { display: flex; flex-direction: row; margin-top: 0.75rem; height: 8rem; } #lastfm-box { background: #000; border: 1px solid #E9E9E9; justify-content: space-between; display: flex; align-items: center; flex: 1 1 auto; height: 8rem; flex: 3; } #lastfm-contents { font-family: "IBM Plex Mono", monospace; font-weight: 400; font-style: normal; color: #E9E9E9; line-height: 1.8; font-size: min(1rem, 2.2cm); overflow: hidden; max-height: 100%; padding: 1rem; padding-top: 0.5rem; display: block; box-sizing: border-box; } #lastfm-artist { font-style: normal; } #lastfm-timesinceplay { font-style:italic; color:#e9e9e9a2; font-size: min(1rem, 2.2cqmin); } #lastfm-lastplayedsong, #lastfm-lastlastplayedsong{ font-style:italic; color: #e9e9e9a2; font-size: min(1rem, 2.2cqmin); } #lastfm-artbox { padding: 1rem; } #lastfm-art { border: 1px solid #E9E9E9; padding: 0.2rem; width: 5rem; height: 5rem; } #clock-box { background: #000; border: 1px solid #E9E9E9; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 8rem; gap: 0.3rem; flex: 1; } #clocktitle { padding: 0; margin: 0; font-size: 0.9rem; } #clock-contents { display: flex; gap: 0.3rem; align-items: top; justify-content: center; } #clock { padding: 0; margin: 0; font-size: 1.8rem; flex: 9; padding-left: 0.5rem; } #clock-icon { padding: 0; margin: 0; padding-top: 0.4rem; flex: 1; width: 1.2rem; height: 1.2rem; padding-right: 0.5rem; } .image { width: 100%; border: 1rem; padding-top: 1rem; } .uptime-pair { display: flex; border: 1px solid #E9E9E9; flex-direction: row; width:16rem; } .uptime-name-element, .uptime-status-element { padding: 1rem; } .uptime-name-element { flex: 3; } .uptime-status-element { flex: 1; border-left: 1px solid #E9E9E9; } #spaceweather { position: relative; } #spaceweather-button { position: absolute; right: 0; top: -1.5rem; padding: 0.65rem; border-right: none; border-top: none; } #spaceweather-container { display: flex; flex-direction: row; } #spaceweather-images { flex: 2; display: flex; flex-direction: column; } #spaceweather-ovation, #spaceweather-overview { width: 90%; height: 90%; display: block; /* center image: don't forget display: block alongside auto margins for this to work! */ margin: 1rem; } #spaceweather-text { flex: 3; } #spaceweather-forecast { white-space: pre-wrap; word-wrap: break-word; } #links-tree { position: sticky; padding: 0; top: 0; margin-top: 14.85rem; /* idk bra this just happens to be the right value for now */ padding-top: 1rem; } #stripes { width: 100vw; height: max(16vh, 176px); margin-top: auto; left: 0; bottom: 0; } @media (max-width: 900px) { #subtitlebox{ height: 6rem; } #lastfm-box, #links { flex: 25; } #heartbeatbox, #clock-box { flex: 13; } #spaceweather-container { flex-direction: column; } #spaceweather-forecast { font-size: 1rem; } #spaceweather-images { margin-top: 3rem; flex-direction: row; } #spaceweather-ovation { width: 80%; max-width: 300px; } } @media (max-width: 1430px) { .sidebar { display: none; /* remove sidebars on mobile -- don't put critical content there! :( */ } }