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 auth 1.6 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 max-width: 90%; 13 background: white; 14 border: 1px solid #d1d5db; 15 border-radius: 8px; 16 padding: 1.5rem; 17 box-sizing: border-box; 18} 19 20.header { 21 text-align: center; 22 margin-bottom: 1.5rem; 23} 24 25.icon-circle { 26 width: 64px; 27 height: 64px; 28 background: #dbeafe; 29 border-radius: 50%; 30 display: flex; 31 align-items: center; 32 justify-content: center; 33 margin: 0 auto 1rem; 34} 35 36.icon-circle img { 37 width: 32px; 38 height: 32px; 39} 40 41h1 { 42 font-size: 1.5rem; 43} 44 45p { 46 font-size: 0.9rem; 47 color: #6b7280; 48} 49 50.actions { 51 display: flex; 52 flex-direction: column; 53 gap: 1rem; 54} 55 56label { 57 display: block; 58 font-size: 0.85rem; 59 font-weight: 600; 60 margin-bottom: 0.25rem; 61} 62 63input { 64 width: 100%; 65 padding: 0.5rem 0.75rem; 66 border: 1px solid #d1d5db; 67 border-radius: 4px; 68 font-size: 0.95rem; 69 box-sizing: border-box; 70} 71 72input:focus { 73 outline: none; 74 border-color: #2563eb; 75} 76 77button { 78 width: 100%; 79 padding: 0.6rem; 80 font-size: 0.95rem; 81 border-radius: 4px; 82 cursor: pointer; 83 /*transition: background 0.2s ease;*/ 84 display: flex; 85 align-items: center; 86 justify-content: center; 87} 88 89.btn-primary { 90 background: #2563eb; 91 color: white; 92 border: none; 93} 94 95.btn-primary:hover { 96 background: #1d4ed8; 97} 98 99.btn-secondary { 100 background: white; 101 gap: 0.5rem; 102 border: 1px solid #d1d5db; 103} 104 105.btn-secondary:hover { 106 background: #f3f4f6; 107} 108 109.btn-secondary img { 110 width: 16px; 111 height: 16px; 112} 113 114.hint { 115 font-size: 0.75rem; 116}