offline-first, p2p synced, atproto enabled, feed reader
at main 60 lines 1.3 kB view raw
1@layer system { 2 :root { 3 --safe-top: env(safe-area-inset-top, 0px); 4 --safe-bottom: env(safe-area-inset-bottom, 0px); 5 --safe-left: env(safe-area-inset-left, 0px); 6 --safe-right: env(safe-area-inset-right, 0px); 7 8 --layout-header-height: 56px; 9 --layout-sidebar-width: 360px; 10 --layout-drawer-mini: 64px; 11 --layout-drawer-midi: 40dvh; 12 } 13 14 html { 15 &.force-dark { color-scheme: dark; } 16 &.force-light { color-scheme: light; } 17 18 color-scheme: light dark; 19 20 --light-bg: ghostwhite; 21 --light-color: darkslategray; 22 --light-accent: tomato; 23 24 --dark-bg: #223; 25 --dark-color: ghostwhite; 26 --dark-accent: gold; 27 28 --theme-bg: light-dark(var(--light-bg), var(--dark-bg)); 29 --theme-color: light-dark(var(--light-color), var(--dark-color)); 30 --theme-accent: light-dark(var(--light-accent), var(--dark-accent)); 31 32 /* defaults */ 33 34 font-size: 14px; 35 color: var(--theme-color); 36 background: var(--theme-bg); 37 } 38 39 /* 40 put content on the page that js can use to detect breakpoints 41 @see app/primitives/useBreakpoint 42 */ 43 44 body:before { 45 content: 'bp:phone'; 46 display: none; 47 } 48 49 @media (--tablet) { 50 body:before { 51 content: 'bp:tablet'; 52 } 53 } 54 55 @media (--desktop) { 56 body:before { 57 content: 'bp:desktop'; 58 } 59 } 60}