Self-hosted, federated location sharing app and server that prioritizes user privacy and security
end-to-end-encryption location-sharing privacy self-hosted federated
at main 1.7 kB view raw
1body { 2 font-family: system-ui, sans-serif; 3 background: #f9fafb; 4 display: flex; 5 align-items: center; 6 justify-content: center; 7 height: 100vh; 8 margin: 0; 9} 10 11.card { 12 width: 100%; 13 max-width: 360px; 14 background: white; 15 border: 1px solid #d1d5db; 16 border-radius: 8px; 17 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); 18 padding: 1.5rem; 19 box-sizing: border-box; 20} 21 22.header { 23 text-align: center; 24 margin-bottom: 1.5rem; 25} 26 27.icon-circle { 28 width: 64px; 29 height: 64px; 30 background: #dbeafe; 31 border-radius: 50%; 32 display: flex; 33 align-items: center; 34 justify-content: center; 35 margin: 0 auto 1rem; 36} 37 38.icon-circle img { 39 width: 32px; 40 height: 32px; 41} 42 43h1 { 44 font-size: 1.5rem; 45 margin: 0; 46 font-weight: 700; 47} 48 49p { 50 font-size: 0.9rem; 51 color: #6b7280; 52} 53 54.actions { 55 display: flex; 56 flex-direction: column; 57 gap: 1rem; 58} 59 60label { 61 display: block; 62 font-size: 0.85rem; 63 font-weight: 600; 64 margin-bottom: 0.25rem; 65} 66 67input { 68 width: 100%; 69 padding: 0.5rem 0.75rem; 70 border: 1px solid #d1d5db; 71 border-radius: 4px; 72 font-size: 0.95rem; 73 box-sizing: border-box; 74} 75 76input:focus { 77 outline: none; 78 border-color: #2563eb; 79 box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2); 80} 81 82button { 83 width: 100%; 84 padding: 0.6rem; 85 font-size: 0.95rem; 86 border-radius: 4px; 87 cursor: pointer; 88 transition: background 0.2s ease; 89 display: flex; 90 align-items: center; 91 justify-content: center; 92 gap: 0.5rem; 93} 94 95.btn-primary { 96 background: #2563eb; 97 color: white; 98 border: none; 99} 100 101.btn-primary:hover { 102 background: #1d4ed8; 103} 104 105.btn-qr { 106 background: white; 107 border: 1px solid #d1d5db; 108 color: #374151; 109} 110 111.btn-qr:hover { 112 background: #f3f4f6; 113} 114 115.btn-qr img { 116 width: 16px; 117 height: 16px; 118} 119 120.hint { 121 font-size: 0.75rem; 122 color: #6b7280; 123 margin-top: 0.25rem; 124}