an independent Bluesky client using Constellation, PDS Queries, and other services reddwarf.app
frontend spa bluesky reddwarf microcosm client app
99
fork

Configure Feed

Select the types of activity you want to include in your feed.

at fa673e49603fef3a17e4db6a044020ab1aebc05e 230 lines 5.9 kB view raw
1@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Spectral+SC:wght@500&display=swap'); 2@import "tailwindcss"; 3 4/* @theme { 5 --color-gray-50: oklch(0.984 0.005 220.000); 6 --color-gray-100: oklch(0.968 0.010 220.000); 7 --color-gray-200: oklch(0.929 0.020 222.000); 8 --color-gray-300: oklch(0.869 0.035 220.000); 9 --color-gray-400: oklch(0.704 0.060 218.000); 10 --color-gray-500: oklch(0.554 0.070 218.000); 11 --color-gray-600: oklch(0.446 0.065 218.000); 12 --color-gray-700: oklch(0.372 0.060 218.000); 13 --color-gray-800: oklch(0.279 0.055 220.000); 14 --color-gray-900: oklch(0.208 0.050 222.000); 15 --color-gray-950: oklch(0.129 0.050 222.000); 16} */ 17 18:root { 19 --safe-hue: var(--tw-gray-hue, 28) 20} 21 22@theme { 23 --color-gray-50: oklch(0.984 0.012 var(--safe-hue)); 24 --color-gray-100: oklch(0.968 0.017 var(--safe-hue)); 25 --color-gray-200: oklch(0.929 0.025 var(--safe-hue)); 26 --color-gray-300: oklch(0.869 0.035 var(--safe-hue)); 27 --color-gray-400: oklch(0.704 0.05 var(--safe-hue)); 28 --color-gray-500: oklch(0.554 0.06 var(--safe-hue)); 29 --color-gray-600: oklch(0.446 0.058 var(--safe-hue)); 30 --color-gray-700: oklch(0.372 0.058 var(--safe-hue)); 31 --color-gray-800: oklch(0.279 0.055 var(--safe-hue)); 32 --color-gray-900: oklch(0.208 0.055 var(--safe-hue)); 33 --color-gray-950: oklch(0.129 0.055 var(--safe-hue)); 34} 35 36@layer base { 37 html { 38 color-scheme: light dark; 39 } 40 41 * { 42 @apply border-gray-200 dark:border-gray-800; 43 } 44 45 html, 46 body { 47 @apply text-gray-900 bg-gray-50 dark:bg-gray-950 dark:text-gray-200; 48 } 49 50 .using-mouse * { 51 outline: none !important; 52 } 53} 54 55@media (width >= 64rem /* 1024px */) { 56 html:not(:has(.disablegutter)), 57 body:not(:has(.disablegutter)) { 58 scrollbar-gutter: stable both-edges !important; 59 } 60 html:has(.disablegutter), 61 body:has(.disablegutter) { 62 scrollbar-width: none; 63 overflow-y: hidden; 64 } 65} 66 67.lightbox:has(+.lightbox-sidebar){ 68 opacity: 0; 69} 70 71.scroll-thin { 72 scrollbar-width: thin; 73 /*scrollbar-gutter: stable both-edges !important;*/ 74} 75 76.scroll-none { 77 scrollbar-width: none; 78} 79 80.dangerousFediContent { 81 & a[href]{ 82 text-decoration: none; 83 color: rgb(29, 122, 242); 84 word-break: break-all; 85 } 86} 87 88.font-inter { 89 font-family: "Inter", sans-serif; 90} 91.font-roboto { 92 font-family: "Roboto", sans-serif; 93} 94 95:root { 96 --header-bg-light: color-mix(in srgb, var(--color-white) calc(var(--is-top) * 100%), var(--color-gray-50)); 97 --header-bg-dark: color-mix(in srgb, var(--color-gray-950) calc(var(--is-top) * 100%), var(--color-gray-900)); 98} 99 100:root { 101 --header-bg: var(--header-bg-light); 102} 103@media (prefers-color-scheme: dark) { 104 :root { 105 --header-bg: var(--header-bg-dark); 106 } 107} 108 109:root { 110 --shadow-opacity: calc(1 - var(--is-top)); 111 --tw-shadow-header: 0 2px 8px hsl(0 0% 0% / calc(var(--shadow-opacity) * 0.15)); 112} 113 114 115/* m3 input */ 116:root { 117 --m3input-radius: 6px; 118 --m3input-border-width: .0625rem; 119 --m3input-font-size: 16px; 120 --m3input-transition: 150ms cubic-bezier(.2, .8, .2, 1); 121 /* light theme */ 122 --m3input-bg: var(--color-gray-50); 123 --m3input-border-color: var(--color-gray-400); 124 --m3input-label-color: var(--color-gray-500); 125 --m3input-text-color: var(--color-gray-900); 126 --m3input-focus-color: var(--color-gray-600); 127} 128 129@media (prefers-color-scheme: dark) { 130 :root { 131 --m3input-bg: var(--color-gray-950); 132 --m3input-border-color: var(--color-gray-700); 133 --m3input-label-color: var(--color-gray-400); 134 --m3input-text-color: var(--color-gray-50); 135 --m3input-focus-color: var(--color-gray-400); 136 } 137} 138 139/* reset page *//* 140html, 141body { 142 background: var(--m3input-bg); 143 margin: 0; 144 padding: 1rem; 145 color: var(--m3input-text-color); 146 font-family: system-ui, sans-serif; 147 font-size: var(--m3input-font-size); 148}*/ 149 150/* base wrapper */ 151.m3input-field.m3input-label.m3input-border { 152 position: relative; 153 display: inline-block; 154 width: 100%; 155 /*max-width: 400px;*/ 156} 157 158/* size variants */ 159.m3input-field.size-sm { 160 --m3input-h: 40px; 161} 162 163.m3input-field.size-md { 164 --m3input-h: 48px; 165} 166 167.m3input-field.size-lg { 168 --m3input-h: 56px; 169} 170 171.m3input-field.size-xl { 172 --m3input-h: 64px; 173} 174 175.m3input-field.m3input-label.m3input-border:not(.size-sm):not(.size-md):not(.size-lg):not(.size-xl) { 176 --m3input-h: 48px; 177} 178 179/* outlined input */ 180.m3input-field.m3input-label.m3input-border input { 181 width: 100%; 182 height: var(--m3input-h); 183 border: var(--m3input-border-width) solid var(--m3input-border-color); 184 border-radius: var(--m3input-radius); 185 background: var(--m3input-bg); 186 color: var(--m3input-text-color); 187 font-size: var(--m3input-font-size); 188 padding: 0 12px; 189 box-sizing: border-box; 190 outline: none; 191 transition: border-color var(--m3input-transition), box-shadow var(--m3input-transition); 192} 193 194/* focus ring */ 195.m3input-field.m3input-label.m3input-border input:focus { 196 border-color: var(--m3input-focus-color); 197 /*box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus-color) 20%, transparent);*/ 198} 199 200/* label */ 201.m3input-field.m3input-label.m3input-border label { 202 position: absolute; 203 left: 12px; 204 top: 50%; 205 transform: translateY(-50%); 206 background: var(--m3input-bg); 207 padding: 0 .25em; 208 color: var(--m3input-label-color); 209 pointer-events: none; 210 transition: all var(--m3input-transition); 211} 212 213/* float on focus or when filled */ 214.m3input-field.m3input-label.m3input-border input:focus+label, 215.m3input-field.m3input-label.m3input-border input:not(:placeholder-shown)+label { 216 top: 0; 217 transform: translateY(-50%) scale(.78); 218 left: 0; 219 color: var(--m3input-focus-color); 220} 221 222/* placeholder trick */ 223.m3input-field.m3input-label.m3input-border input::placeholder { 224 color: transparent; 225} 226 227/* radix i love you but like cmon man */ 228body[data-scroll-locked]{ 229 margin-left: var(--removed-body-scroll-bar-size) !important; 230}