Multicolumn Bluesky client powered by Angular
at master 270 lines 6.6 kB view raw
1@import "tailwindcss"; 2@import '@angular/cdk/overlay-prebuilt.css'; 3@custom-variant theme-dark (&:where([data-theme="dark"] *)); 4@custom-variant theme-hacker (&:where([data-theme="hacker"] *)); 5 6html, body, .app-container { 7 font-size: 14px; 8 height: 100%; 9 text-align: left; 10 line-height: 1.3; 11 letter-spacing: -0.025em; 12 13 background-color: var(--color-bg); 14 color: var(--color-primary); 15} 16 17app-root * { 18 box-sizing: border-box; 19 scrollbar-width: thin; 20 scrollbar-gutter: stable; 21} 22 23.material-icons { 24 font-family: 'Material Icons'; 25 font-weight: normal; 26 font-style: normal; 27 font-size: 16px; 28 display: inline-block; 29 line-height: 1; 30 text-transform: none; 31 letter-spacing: normal; 32 word-wrap: normal; 33 white-space: nowrap; 34 direction: ltr; 35 36 /* Support for all WebKit browsers. */ 37 -webkit-font-smoothing: antialiased; 38 /* Support for Safari and Chrome. */ 39 text-rendering: optimizeLegibility; 40 41 /* Support for Firefox. */ 42 -moz-osx-font-smoothing: grayscale; 43 44 /* Support for IE. */ 45 font-feature-settings: 'liga'; 46} 47 48.material-icons-outlined { 49 font-family: 'Material Icons Outlined'; 50 font-weight: normal; 51 font-style: normal; 52 font-size: 16px; 53 display: inline-block; 54 line-height: 1; 55 text-transform: none; 56 letter-spacing: normal; 57 word-wrap: normal; 58 white-space: nowrap; 59 direction: ltr; 60 61 /* Support for all WebKit browsers. */ 62 -webkit-font-smoothing: antialiased; 63 /* Support for Safari and Chrome. */ 64 text-rendering: optimizeLegibility; 65 66 /* Support for Firefox. */ 67 -moz-osx-font-smoothing: grayscale; 68 69 /* Support for IE. */ 70 font-feature-settings: 'liga'; 71} 72 73/* VIDEO.JS */ 74 75::ng-deep .video-js .vjs-control-bar { 76 background: linear-gradient(to top, rgba(43, 51, 63, 0.7), transparent); 77} 78::ng-deep .video-js > .vjs-remaining-time { 79 height: 0; 80 position: absolute; 81 bottom: 0; 82 right: 0; 83 font-size: 0.75rem; 84 font-family: 'Inter', sans-serif; 85 opacity: 0; 86} 87::ng-deep .video-js.vjs-user-inactive .vjs-remaining-time { 88 height: 2rem; 89 opacity: 1; 90 transition: 1.5s opacity ease; 91} 92 93@theme { 94 --font-mono: "Source Code Pro", monospace; 95 --font-sans: "Source Code Pro", sans-serif; 96 97 --text-sm: 0.9285rem; 98 99 --color-bg: #FFF; 100 --color-primary: #000; 101 --color-secondary: #E1E1E1; 102 --color-repost: #00aa00; 103 --color-like: #F00000; 104 --color-selection-bg: rgba(0, 0, 0, 0.99); 105 --color-selection-text: #FFF; 106 --color-background: #FFF; 107 --color-text: var(--color-base); 108 --color-placeholder: var(--color-base); 109 --color-link: var(--color-base); 110 --color-code-1: #aaaaaa; 111 --color-code-2: #ffffcc; 112 --color-code-3: #F00000; 113 --color-code-4: #F0A0A0; 114 --color-code-5: #0000aa; 115 --color-code-6: #4c8317; 116 --color-code-7: #aa0000; 117 --color-code-8: #000080; 118 --color-code-9: #00aa00; 119 --color-code-10: #888888; 120 --color-code-11: #555555; 121 --color-code-12: #800080; 122 --color-code-13: #00aaaa; 123 --color-code-14: #009999; 124 --color-code-15: #aa5500; 125 --color-code-16: #1e90ff; 126 --color-code-17: #800000; 127 --color-code-18: #bbbbbb; 128} 129 130@custom-variant midnight { 131 &:where([data-theme="midnight"] *) { 132 --color-base: #DBDBDB; 133 --border: dashed 1px rgba(219, 219, 219, 0.9); 134 --color-selection-bg: rgba(219, 219, 219, 0.99); 135 --color-selection-text: #000; 136 --color-background: #000; 137 --color-text: var(--color-base); 138 --color-placeholder: var(--color-base); 139 --color-link: var(--color-base); 140 --color-code-1: #aaaaaa; 141 --color-code-2: #ffffcc; 142 --color-code-3: #F00000; 143 --color-code-4: #F0A0A0; 144 --color-code-5: #b38aff; 145 --color-code-6: #5ba711; 146 --color-code-7: #e4e477; 147 --color-code-8: #000080; 148 --color-code-9: #05ca05; 149 --color-code-10: #888888; 150 --color-code-11: #555555; 151 --color-code-12: #800080; 152 --color-code-13: #00d4d4; 153 --color-code-14: #00c1c1; 154 --color-code-15: #ed9d13; 155 --color-code-16: #1e90ff; 156 --color-code-17: #800000; 157 --color-code-18: #bbbbbb; 158 } 159} 160 161@custom-variant hacker { 162 &:where([data-theme="hacker"] *) { 163 --color-base: #00ff00; 164 --border: dashed 1px rgba(0, 255, 0, 0.9); 165 --color-selection-bg: rgba(0, 255, 0, 0.99); 166 --color-selection-text: #000; 167 --color-background: #000; 168 --color-text: var(--color-base); 169 --color-placeholder: var(--color-base); 170 --color-link: var(--color-base); 171 --color-code-1: #aaaaaa; 172 --color-code-2: #ffffcc; 173 --color-code-3: #F00000; 174 --color-code-4: #F0A0A0; 175 --color-code-5: #b38aff; 176 --color-code-6: #5ba711; 177 --color-code-7: #e4e477; 178 --color-code-8: #000080; 179 --color-code-9: #05ca05; 180 --color-code-10: #888888; 181 --color-code-11: #555555; 182 --color-code-12: #800080; 183 --color-code-13: #00d4d4; 184 --color-code-14: #00c1c1; 185 --color-code-15: #ed9d13; 186 --color-code-16: #1e90ff; 187 --color-code-17: #800000; 188 --color-code-18: #bbbbbb; 189 } 190} 191 192@layer components { 193 .btn-primary { 194 box-sizing: border-box; 195 border: 1px solid; 196 border-color: var(--color-primary); 197 background-color: var(--color-primary); 198 color: var(--color-bg); 199 width: fit-content; 200 text-box: trim-both cap alphabetic; 201 padding: 0.5em 0.75em; 202 cursor: pointer; 203 min-height: 2em; 204 205 &:hover { 206 background-color: var(--color-bg); 207 color: var(--color-primary); 208 } 209 210 &:disabled { 211 pointer-events: none; 212 opacity: 0.3; 213 } 214 } 215 216 .btn-secondary { 217 box-sizing: border-box; 218 border: 1px solid; 219 border-color: var(--color-primary); 220 background-color: var(--color-bg); 221 color: var(--color-primary); 222 width: fit-content; 223 text-box: trim-both cap alphabetic; 224 padding: 0.5em 0.75em; 225 cursor: pointer; 226 min-height: 2em; 227 228 &.active { 229 background-color: color-mix(in oklab, var(--color-primary) /* #000 = #000000 */ 5%, transparent); 230 color: var(--color-primary); 231 } 232 233 &:hover { 234 background-color: color-mix(in oklab, var(--color-primary) /* #000 = #000000 */ 10%, transparent); 235 color: var(--color-primary); 236 } 237 238 &:disabled { 239 pointer-events: none; 240 opacity: 0.3; 241 } 242 } 243 244 .btn-dropdown { 245 box-sizing: border-box; 246 background-color: var(--color-bg); 247 color: var(--color-primary); 248 width: 100%; 249 text-align: left; 250 font-family: var(--font-mono); 251 padding: 0.5em 0.75em; 252 cursor: pointer; 253 254 &:hover { 255 background-color: var(--color-primary); 256 color: var(--color-bg); 257 } 258 259 &:disabled { 260 pointer-events: none; 261 } 262 263 &:focus-visible { 264 outline: none; 265 background-color: var(--color-primary); 266 color: var(--color-bg); 267 } 268 } 269} 270