Personal website
at master 182 lines 3.9 kB view raw
1/* 2 This file is part of NKK. 3 4 NKK is free software: you can redistribute it and/or modify it under the 5 terms of the GNU Affero General Public License as published by the Free 6 Software Foundation, either version 3 of the License, or (at your option) 7 any later version. 8 9 NKK is distributed in the hope that it will be useful, but WITHOUT ANY 10 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for 12 more details. 13 14 You should have received a copy of the GNU Affero General Public License 15 along with NKK. If not, see <http://www.gnu.org/licenses/>. 16*/ 17 18@import "tailwindcss" source(none); 19@import "./00.typography.tw.css"; 20@import "./01.prismjs.tw.css"; 21@import "../public/font/IBMPlexMono-Regular/IBMPlexMono-Regular.css"; 22@import "../public/font/IBMPlexSansJP-Regular/IBMPlexSansJP-Regular.css"; 23@import "../public/font/IBMPlexSansJP-Bold/IBMPlexSansJP-Bold.css"; 24 25@source "../**/*.{ps1,html,css,md}"; 26@source not "../public"; 27 28@theme { 29 --font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; 30 --font-sans: 'IBM Plex Sans JP', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; 31 --text-xxs: 0.625rem; 32} 33 34html { 35 @apply bg-fixed bg-linear-to-b; 36 @apply from-green-100 to-green-300; 37 @apply font-sans leading-[1.65] text-sm; 38} 39 40hr { 41 @apply my-4; 42 @apply text-stone-400; 43} 44 45a:not(.clickable) { 46 &:hover { 47 /* like https://phk.freebsd.dk/ */ 48 @apply bg-blue-400/15 rounded-xs; 49 } 50 51 @apply 52 text-blue-500 underline px-1; 53} 54 55a::after { 56 content: ' 🡥'; 57 @apply text-xxs no-underline align-middle pb-2; 58} 59 60.hidden-link-lmao { 61 @apply px-0!; 62 63 &::after { 64 content: '' !important; 65 } 66} 67 68a:visited { 69 @apply text-blue-900; 70} 71 72.n-box { 73 @apply w-[min(67%,_var(--container-6xl))]; 74 @apply border border-black border-solid; 75 @apply flex flex-col mt-8 mb-20 p-4 rounded-sm drop-shadow-xl; 76 @apply bg-[#ffffff]; 77 @apply mx-auto; 78 79 /* subsequent `n-box`es have their bottom margin shrunk */ 80 &:has(+ .n-box) { 81 @apply mb-8; 82 } 83} 84 85.clear-n-box { 86 @apply border-transparent; 87 @apply bg-transparent; 88 @apply drop-shadow-none; 89} 90 91.clickable { 92 @apply bg-gray-100; 93 @apply pl-[0.5ch] pr-[0.5ch]; 94 95 @apply border border-black border-solid; 96 @apply rounded-sm; 97 98 text-decoration: none; 99 100 &:hover { 101 @apply bg-gray-200; 102 } 103 104 &:disabled, &[aria-disabled="True"] { 105 @apply text-stone-400 border-stone-400 pointer-events-none; 106 } 107} 108 109.pfp { 110 @apply drop-shadow-xl/25; 111} 112 113#splash, .you-know-you-want-to { 114 a { 115 @apply bg-transparent; 116 } 117 118 @apply whitespace-nowrap w-min px-[2ch] cursor-pointer; 119 120 font-smooth: never; 121 122 animation-duration: .25s; 123 animation-name: splashscale; 124 animation-timing-function: transform 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6); 125 animation-direction: alternate; 126 animation-iteration-count: infinite; 127 128 transition-property: background-color; 129 transition-duration: 0.3s; 130 transition-timing-function: ease-in-out; 131 @apply rounded-md; 132 133 &:hover { 134 @apply bg-green-400/50; 135 } 136} 137 138@media (prefers-reduced-motion) { 139 #splash, .you-know-you-want-to { 140 transform: rotateZ(-1.5deg); 141 font-smooth: auto; 142 @apply animate-none; 143 } 144} 145 146.post-component { 147 @apply m-2; 148 h1 a { 149 font-size: 2.33em; 150 font-weight: 800; 151 text-decoration: none !important; 152 } 153} 154 155.artifact-holder { 156 display: grid; 157 gap: 10px; 158 grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); 159 grid-template-rows: masonry; 160} 161 162.artifact-component { 163 /* @apply m-2 grid; */ 164 165 width: 50%; 166 167 h1 a { 168 font-size: 1.5em; 169 font-weight: 800; 170 text-decoration: none !important; 171 } 172} 173 174@keyframes splashscale { 175 0% { 176 transform: scale(0.99) rotateZ(-1deg); 177 } 178 179 100% { 180 transform: scale(1.02) rotateZ(-1deg); 181 } 182}