an app to share curated trails sidetrail.app
atproto nextjs react rsc
at main 88 lines 1.7 kB view raw
1:root { 2 --text-primary: #000; 3 --text-secondary: #555; 4 --text-tertiary: #888; 5 --text-muted: #999; 6 --bg-primary: #fefefe; 7 --border-subtle: rgba(0, 0, 0, 0.08); 8 --user-content-filter: none; 9} 10 11@media (prefers-color-scheme: dark) { 12 :root { 13 --text-primary: rgba(255, 255, 255, 0.92); 14 --text-secondary: rgba(255, 255, 255, 0.75); 15 --text-tertiary: rgba(255, 255, 255, 0.55); 16 --text-muted: rgba(255, 255, 255, 0.45); 17 --bg-primary: #1b1a19; 18 --border-subtle: rgba(255, 255, 255, 0.12); 19 --user-content-filter: invert(93%) hue-rotate(180deg); 20 } 21} 22 23* { 24 box-sizing: border-box; 25} 26 27/* ========== TOUCH DEVICE FIXES ========== */ 28 29a, 30button, 31[role="button"], 32input, 33select, 34textarea { 35 -webkit-tap-highlight-color: transparent; 36} 37 38a, 39button, 40[role="button"] { 41 touch-action: manipulation; 42} 43 44*:focus-visible { 45 outline-color: var(--accent-color, #5f8ec4); 46 outline-offset: 2px; 47} 48 49body { 50 margin: 0; 51 padding: 0; 52 font-family: 53 -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", 54 "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; 55 -webkit-font-smoothing: antialiased; 56 -moz-osx-font-smoothing: grayscale; 57 background-color: var(--bg-primary); 58 color: var(--text-primary); 59 transition: 60 background-color 0.3s ease, 61 color 0.3s ease; 62} 63 64/* ========== SHIMMER / SKELETON LOADING STYLES ========== */ 65 66@keyframes shimmer { 67 0% { 68 opacity: 1; 69 } 70 50% { 71 opacity: 0.5; 72 } 73 100% { 74 opacity: 1; 75 } 76} 77 78.skeleton { 79 background: rgba(0, 0, 0, 0.05); 80 animation: shimmer 2s ease-in-out infinite; 81 border-radius: 4px; 82} 83 84@media (prefers-color-scheme: dark) { 85 .skeleton { 86 background: rgba(255, 255, 255, 0.05); 87 } 88}